.net core 如何管理SignalR core中的组?(加入/离开所有人)

.net core 如何管理SignalR core中的组?(加入/离开所有人),.net-core,signalr,.net Core,Signalr,我有一些关于信号员的问题 应用场景:用户可以加入/离开多个组(NxN)。但是 可以使用新请求更改这些组。那么,如何删除 是否从所有加入的组中删除用户并将其添加到新组列表?(如 as:在第一个请求中,我加入A、B、C组,在第二个请求中,我加入 只想参加X、Z组-我不再听a、b、c组了- 如何检查组名是否已存在 如果组中没有用户/成员,如何删除该组?(垃圾收集器) 希望有人在这里帮助我! (Signalr core:2.2)Signalr不向您提供分组用户列表、分组数量及其名称。因此,您需要实现的逻

我有一些关于信号员的问题

  • 应用场景:用户可以加入/离开多个组(NxN)。但是 可以使用新请求更改这些组。那么,如何删除 是否从所有加入的组中删除用户并将其添加到新组列表?(如 as:在第一个请求中,我加入A、B、C组,在第二个请求中,我加入 只想参加X、Z组-我不再听a、b、c组了-
  • 如何检查组名是否已存在
  • 如果组中没有用户/成员,如何删除该组?(垃圾收集器)
  • 希望有人在这里帮助我!
    (Signalr core:2.2)

    Signalr不向您提供分组用户列表、分组数量及其名称。因此,您需要实现的逻辑是创建一个
    字典
    ,这样您就可以在那里添加组名以及与该组关联的用户。因此,当请求将用户从a组更改为B组时,您可以执行以下操作:

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

    如果您有一个Signal应用程序/主机,我认为这是一个很好的解决方案,因为如果您有多个Signal应用程序实例,您无法访问
    字典
    以查看其他实例中的某个组中是否有用户。

    我会有太多的组和用户,因此这可能会影响一台服务器的性能。我在整个网站上找不到它的工作样本。我认为这是每个使用信号器的人最常见的问题。我将等待这个问题更具可扩展性的解决方案。谢谢你的回答!