0

我第一次使用信号器同时向用户组广播通信。我有两个地区 - 美国和加拿大以及多个应用程序销售/营销/等。

我希望能够将消息发送到:

  • 特定区域的所有用户
  • 特定应用程序的所有用户,不分地区
  • 特定区域中特定应用程序的所有用户

现在我可以向特定的组发送消息——基本上完成了上面的#1 和#2。是否可以有子用户组 - 或者仅在当前将用户分配到两个组时才发送消息?如果没有,是否有实现此功能的最佳实践?

谢谢太平绅士

4

2 回答 2

3

不,您无法开箱即用。

但是,您可以尝试查询不符合您条件的用户,然后将它们包含在 group.send 请求的“排除连接 ID”参数中。

例如(sudo 代码)

var exclusionIds = myusers.Where(u => u.OnApplication("App1")).Where(x => !x.InRegion("xyz")).Select(z => z.ConnectionId).ToArray();

Clients.Group("App1", exclusionIds).foo();
于 2013-04-04T19:07:01.590 回答
2

SignalR 仅提供帮助您维护简单组的功能。您必须在代码中处理子组逻辑。您可以为不同的组创建“集”,并根据需要向这些组/集的交集发送消息。您可以查看 SignalR 中的聊天示例,以了解有关如何在应用程序中管理组的更多信息。

于 2013-04-04T19:05:20.520 回答