我使用SignalR来实现聊天在asp.net中,但是当我打开我的web应用程序的多个选项卡时,我得到“正在等待可用套接字...”。在ASP.NET中使用SignalR等待可用的套接字
我已经实现了Performance Tuning SignalR指定的所有设置,但我的问题没有得到解决。
我该如何解决这个问题?
我使用SignalR来实现聊天在asp.net中,但是当我打开我的web应用程序的多个选项卡时,我得到“正在等待可用套接字...”。在ASP.NET中使用SignalR等待可用的套接字
我已经实现了Performance Tuning SignalR指定的所有设置,但我的问题没有得到解决。
我该如何解决这个问题?
正如评论中已经指出的那样,您击中了由浏览器强制执行的connection limit per hostname。
你的基本选项
Hoppner如何实现单独的子域概念。我是否必须在所有域上部署我的集线器类? 还是有什么办法吗?因为我有cretae 5子域名,我把连接作为 $ .connection.hub.url ='subdomain url'; – 2014-09-11 04:58:36
您可以为每个位置部署它并使用背板连接实例;或者也许可以简单地使用URL重写/自定义路由(我从来没有尝试过,所以可能会有并发症) – 2014-09-11 09:00:05
请你给我提供一些实现使用URL重写的例子的想法,因为我已经尝试在多个服务器上部署,但我的聊天消息不起作用..由于连接ID对于多个集线器不常见 – 2014-09-11 10:21:18
讨论您可以实现锁定机制,使每多个选项卡只有一个连接。
此解决方案将帮助您处理最大并联连接限制。
在与这个问题斗争之后,我通过使用子域概念解决了这个问题。 为此,我创建了多个指向主站点的子域,每次指定不同域的集线器URL时,我都能够打开每个域的大约5个选项卡。 这个技巧对我来说工作得很好。
与本地存储的解决方案是在这个小项目实施:
https://github.com/slimjack/IWC-SignalR
我想在我的应用程序,可以强烈推荐,因为它为我工作。我在Chrome,Firefox和IE上测试过它,并对性能感到满意。
请记住,你应该包括IWC万国表all.min.js,IWC万国表signalr.js和参考<script src="signalr/hubs"></script>
前signalr-patch.js。
它已准备好与jQuery 1合作。7或更高。只需稍作更改,我就可以使用1.6.4版本运行它。
你只是试图让基本演示运行?或者你是否真的试图调整一个真正的应用程序? – mason 2014-09-04 14:30:05
你从哪里得到这个聊天应用程序的代码,或者你是从头开始写的? – 2014-09-04 14:32:06
我从头开始编写它,当我打开超过5个标签时,标签加载....除非我关闭previos标签 – 2014-09-04 14:33:13