【问题标题】:SignalR - Send message to specific client and viewSignalR - 向特定客户端发送消息并查看
【发布时间】:2016-11-19 06:01:00
【问题描述】:

我最近开始使用 SignalR 库,但我有一些疑问...

  • 我可以在特定视图中向特定用户发送消息吗?例如:我的用户已连接到我的系统中,但他打开了两个或多个屏幕,但我只需要将消息发送到发生操作的视图。

  • 我打算用它来显示系统通知消息(成功包含、意外错误等)。使用 SignalR 是一个不错的选择吗?

谢谢

【问题讨论】:

    标签: asp.net-mvc signalr


    【解决方案1】:

    我相信浏览器中的每个选项卡都会创建一个单独的 signalR 连接,因此您可能必须先解决此问题,因为浏览器对最大连接数有限制。为此,请查看 project 甚至 this

    现在,当您为多个打开的选项卡建立一个连接时,如果在每个选项卡中都执行了回调,您应该测试何时从服务器接收到消息。如果是,那么您可以确定您是否在所需的页面中(例如通过检查 html 元素)并做您的事情,如果不是 - 什么也不做。

    【讨论】:

      【解决方案2】:

      您可能知道,SignalR 允许 mapping users to connections 并且 SignalR 为每个连接提供一个连接 ID。

      从技术上讲,每个视图都有自己的联系。如果要在视图之间共享 SignalR 连接,则必须自己实现。

      如果您想将系统通知从服务器实时推送到客户端,那么 SignalR 是一个不错的选择。

      【讨论】:

      • 感谢您的回答。我需要进一步研究以了解 Signalr 的工作原理。我还不确定保存所有连接以发送有关警报和成功操作的消息是否是一个更好的主意。也许存在一种更简单的方法来做到这一点......
      猜你喜欢
      • 2016-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多