如何从SignalR组中删除所有客户端?

时间:2019-01-31 08:10:57

标签: c# signalr

因此,在SignalR中,您可以使用以下方式将客户端添加到组中

Groups.Add(connectionId, roomName)

您可以使用以下方法从组中删除客户端

Groups.Remove(connectionId, roomName);

但是我怎样才能清空一个组-换句话说,就是从该组中删除所有客户端?

更新:这不是this的重复,因为我在问如何从一个组中删除所有客户端。我不是要从所有群组中删除一个客户。

2 个答案:

答案 0 :(得分:1)

SignalR没有公开任何执行此操作的方法。它还不会公开活动连接的列表。因此,要实现所需的功能,您必须通过实现OnConnectedAsync来存储所有连接ID,然后将它们从一个循环中的组中删除。

答案 1 :(得分:0)

我也没有找到任何API函数,但是Groups是Dictionary类型(据我所记得),因此您可以使用Clear()函数。如果没有看,Groups实现了什么interface | types并使用其功能,如Clear()