浏览器中的不同连接多个选项卡

时间:2015-06-02 05:18:35

标签: signalr signalr-hub signalr.client

为什么SignalR在同一登录用户的浏览器多个选项卡中进行不同的连接。 有没有办法为在同一浏览器中打开的所有选项卡建立一个连接。 从连接我的意思是SignalR中用户的connectionID。

1 个答案:

答案 0 :(得分:1)

因为同一浏览器的不同标签是不同的文件\"进程" - 在某种意义上,每个标签代表不同的"实例"客户端应用程序没有办法直接在它们之间共享JavaScript对象(这就是SignalR在每个选项卡中打开新连接的原因)。要共享不同实例之间的数据\通信,您可以使用例如HTML5 localStorage机制

因此,如果要在选项卡之间共享一个SignalR连接,那么可以通过仅在一个选项卡中管理连接并允许communication between tabs来实现它,以便每个选项卡都能够发送\ receive消息从服务器。您可以使用this cool project获得灵感,也可以获得灵感。

这也解决了problem浏览器对单个服务器的最大并发连接限制。