我正在使用SignalR在我的Web应用程序中显示屏幕上的通知(使用Asp.net MVC构建)。
我的问题是如何向特定用户群显示通知,例如。向具有读者角色的所有用户显示屏幕通知?与角色关联的角色和用户是在数据库中定义的。
我在文档中已经阅读了有关组的内容。但我不确定如何使用它。
答案 0 :(得分:0)
正如您所说,其中一种方法是使用SignalR Groups.
基本上,当您启动与SignalR集线器的连接时,您还可以根据帐户类型将该用户包括在一个组中(尽量不要将用户包含在基于客户端函数调用的组中,请执行此操作在服务器上。)
因此,每次用户连接时,您都可以覆盖OnConnected
方法并在相应的组上添加用户(在Groups
对象中存储ConnectionId
个字符串。
注意 - 如果要扩展应用程序,还需要添加背板,原因如下:组和连接ID存储在服务器的内存中。如果您的应用程序是负载平衡的,那么您有多个相同应用程序的独立实例,每个实例具有不同的连接。
这里的方法是使用SignalR Backplane.
希望这有帮助!
祝你好运!