好的,所以我有这个代码
var c = GlobalHost.ConnectionManager.GetHubContext<SomeHubClass>().Clients;
现在,客户端返回一个IHubConext,它具有包含IGroupManager组的IHubConnectionContext。现在有没有从这里得到所有的组名?这甚至可以通过signalR接口实现,还是我必须自己跟踪每个集线器的所有组?
答案 0 :(得分:11)
SignalR没有公开的API来管理整个组,迭代组,甚至获取组的摘要列表。您只能添加或删除组。如果要保留组名列表,可以使用SomeHubClass的单例模式。在您可以轻松访问的单例中保留List<string>
个组名,甚至是Dictionary<string, HashSet<string>>
来映射连接ID的名称和哈希集,尽管在这个实例中这可能是过度的。
请参阅http://www.asp.net/signalr/overview/hubs-api/hubs-api-guide-server#callfromoutsidehub以了解您的中心的单身人士。