.net-core - 如何管理 SignalR 核心中的组?(加入/离开所有人)
问题描述
我对 SignalR 有一些疑问。
- 应用场景:用户可以加入/离开多个组 (NxN)。但是可以通过新请求更改这些组。那么,如何从所有加入的组中删除用户并将他添加到新的组列表中?(例如:在第一个请求中,我加入了 A、B、C 组,而在第二个请求中,我只想加入 X、Z 组——我不再听 a、b、c 组了——)。
- 如果已经存在,如何检查组名?
- 如果组中没有用户/成员,如何删除组?(垃圾收集器)
希望有人在这里帮助我!(信号核心:2.2)
解决方案
SignalR 不会为您提供组中的用户列表、有多少组以及他们的名称。因此,您需要实现的逻辑是创建例如 aDictionary
这样您就可以在其中添加您的组的名称以及与该组关联的用户。因此,当请求将用户从 A 组更改为 B 组时,您可以执行以下操作:
- 查找用户所在的组。
- 从组中删除用户。
- 创建新组并将其添加到您的字典中。
- 将用户添加到新组。
如果您有一个 SignalR 应用程序/主机,我相信这是一个很好的方法,因为如果您将有许多 signalR 应用程序实例,您将无法访问以Dictionary
查看在其他实例中是否有某个组中的用户。
推荐阅读
- mysql - 无法在 OS-X High Sierra (10.13.6) PID 文件上启动 MySql (8.0.15)
- c#-4.0 - DataTable 到 Generic List 使用 Task 使其更快
- python - 使用批处理文件运行 Django 项目后,Chrome 无法打开
- typescript - 将联合类型与不接受参数作为对象的函数一起使用
- react-native - 文本输入最小长度反应原生
- asp.net-mvc - 使用 MSBuild.exe 部署 MVC 项目失败
- amazon-s3 - Glue Crawler 无法排除 .csv.metadata 文件
- html - 如何修复 NativeScript 中网格布局中的重叠项目?
- android - 如何使用 gomobile 发布输出非调试 apk?
- android - Android:使用 kotlin 协程的 ViewModel 测试不起作用