我最近开始使用SignalR库,我有些疑惑......
我可以向特定用户和特定视图发送消息吗?例如:我的用户已在我的系统中连接,但他打开了两个或更多屏幕,但我只需将消息发送到发生操作的视图。
我打算用它来显示系统通知消息(包含成功,意外错误等)。这是使用SignalR的一个很好的选择吗?
由于
答案 0 :(得分:0)
我相信浏览器中的每个标签都会创建一个单独的signalR连接,因此您可能必须首先解决此问题,因为浏览器限制了最大连接数。为此,请查看此project甚至this。
现在,当您有多个已打开选项卡的连接时,如果在每个选项卡中执行回调,则应测试何时从服务器收到消息。如果是,那么你可以确定你是否在所需的页面中(例如通过检查html元素)并做你的事情,如果没有 - 什么都不做。
答案 1 :(得分:0)
您可能知道,SignalR允许mapping users to connections,SignalR为每个连接提供连接ID。
每个视图在技术上都有自己的连接。如果要在视图之间共享SignalR连接,则必须自己实现。
如果您想实时将系统通知从服务器推送到客户端,那么SignalR是一个不错的选择。