美好的一天。
背景:ASP.NET MVC 3 / SignalR。
我正在开发将在大型门户网站中使用的典型聊天组件。我写了一个小型模拟器,它打开了一个带有聊天组件和新SignalR连接的新窗口。
问题: 一切正常,但是:突然我注意到如果我在一个浏览器中打开多个具有相同组件的X窗口/标签 - 服务器停止接收来自与其连接的任何客户端的任何响应。
X :
IE和Chrome5
FF的14 。
我认为这是一个浏览器问题,因为价值各不相同。此外,我注意到请求可以保持等待几分钟!并且没有超时..
也许有人面对这样的事情,或者知道什么会导致这种奇怪的行为? Thanx提前,1月。
答案 0 :(得分:2)
我假设你在Windows 7上使用IIS 7 / 7.5。如果你确实使用的是Windows7,那么你需要使用IIS Express,因为它只支持10个并发连接(客户端操作系统限制)。或者,您可以使用Windows Server来充分利用IIS。
答案 1 :(得分:0)
Thanx回复!我刚刚将应用程序部署到我们服务器的IIS中:
Windows Server 2008 SP2 / IIS7
不幸的是,情况是一样的。例如,Chrome向我展示了以下图片:
其中[1 - 6] - iFrames与聊天。从第6个iFrame(或单独的浏览器选项卡/窗口 - 它不会满足)开始,客户端和服务器之间的通信会严重减慢。 这第6个请求实际上已成功完成,但在2分钟内:)。下一个执行的时间更长:
我用另一个原始signalR例子测试了这个案例并得到了相同的东西..
答案 2 :(得分:0)
这是接下来三天谷歌搜索的第一篇文章。我正在使用.NET
客户端,并尝试通过创建仅包含问题区域的应用程序来隔离问题。我们的情况有所不同:我似乎没有对客户端的连接限制。事实上,在将.Net集线器部署到 windows server 2008 hyper vps之前,我没有任何问题。 IIS express
运行一切像黄油一样顺畅。我已经检查过以确保异步服务和功能正在运行,并且我已经按照文档中 david 提及的性能调优文章,调整了线程队列最大值的设置等。请注意,您描述的分钟 - 两分钟延迟与我的相同。我从nuget更新到SignalR
(。4)的最新版本,由于某种原因它破坏了我的解决方案。
你能告诉我你的版本是什么吗?我怀疑它可能与运行我的vps的物理主机上的安全性有关。我将尝试在不同的虚拟化平台上排除超v问题。
答案 3 :(得分:0)
请在此处查看我的回答:Is there a way to get number of connections in Signalr hub group?
想法是覆盖connectionid。