将新用户添加到SignalR Hub
中的群组时,如何检查用户是否已添加到该特定群组?我甚至需要担心这个吗?
在我的基于SignalR
的聊天应用中,有多个聊天室,用户可以同时参与多个会议室。每次用户点击聊天室时,我都会将其设置为活动房间,这会调用我的SignalR Hub
来确保用户在该组中 - 使用以下行:
await Groups.AddAsync(Context.ConnectionId, roomId);
我只是想确保如果我的代码尝试不止一次地将一个connectionId添加到一个组,我就不会收到任何错误,这就是为什么我试图找出我是否需要担心这种情况。如果是这样,我如何检查特定组中的当前connectionId。
BTW,我在最新版本的SignalR
中对此进行了编码,这是ASP.NET Core 2.1 Preview-1的一部分。
答案 0 :(得分:0)
是的,这是可能的!因此,如果客户在群组中不止一次,他将多次举办活动......
和
在您调用AddAsync(...)
的情况下,您可以看到正在运行的内容跟踪群组:
但是根据小组的跟踪,我认为它和#34; old" signalr: 您需要自己跟踪组的成员。 SignalR的小组仅用于消息传递。如果您想要会员资格,那么您需要自己进行跟踪。
答案 1 :(得分:0)
如此处所述 - https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/working-with-groups#overview,没有办法检查用户是否属于某个群组。
你必须自己编码。同一篇文章包含一些例子: