我第一次使用signalr同时向用户组广播通信。我有两个地区 - 美国和加拿大以及多个应用程序销售/营销/等。
我希望能够发送消息到:
现在我可以向特定群组发送消息 - 基本上可以完成上面的#1和#2。是否可以拥有子组用户 - 或者仅在用户当前分配给两个组时才发送消息?如果没有,是否有实现此功能的最佳实践?
由于 JP
答案 0 :(得分:3)
不,你无法开箱即用。
然而,您可以尝试查询不符合条件的用户,然后将其包含在"排除连接ID" group.send请求中的参数。
所以例如(sudo代码)
var exclusionIds = myusers.Where(u => u.OnApplication("App1")).Where(x => !x.InRegion("xyz")).Select(z => z.ConnectionId).ToArray();
Clients.Group("App1", exclusionIds).foo();
答案 1 :(得分:2)
SignalR仅提供可帮助您维护简单组的功能。您必须在代码中处理子组逻辑。您可以为不同的组创建“集合”,并根据需要将消息发送到这些组/集的交集。您可以查看SignalR中的聊天示例,以了解有关如何在应用程序中管理组的更多信息。