首页 > 解决方案 > 如何管理 SignalR 核心中的组?(加入/离开所有人)

问题描述

我对 SignalR 有一些疑问。

  1. 应用场景:用户可以加入/离开多个组 (NxN)。但是可以通过新请求更改这些组。那么,如何从所有加入的组中删除用户并将他添加到新的组列表中?(例如:在第一个请求中,我加入了 A、B、C 组,而在第二个请求中,我只想加入 X、Z 组——我不再听 a、b、c 组了——)。
  2. 如果已经存在,如何检查组名?
  3. 如果组中没有用户/成员,如何删除组?(垃圾收集器)

希望有人在这里帮助我!(信号核心:2.2)

标签: .net-coresignalr

解决方案


SignalR 不会为您提供组中的用户列表、有多少组以及他们的名称。因此,您需要实现的逻辑是创建例如 aDictionary这样您就可以在其中添加您的组的名称以及与该组关联的用户。因此,当请求将用户从 A 组更改为 B 组时,您可以执行以下操作:

  • 查找用户所在的组。
  • 从组中删除用户。
  • 创建新组并将其添加到您的字典中。
  • 将用户添加到新组。

如果您有一个 SignalR 应用程序/主机,我相信这是一个很好的方法,因为如果您将有许多 signalR 应用程序实例,您将无法访问以Dictionary查看在其他实例中是否有某个组中的用户。


推荐阅读