IIS 7.5上的SignalR始终对每个浏览器使用长轮询

时间:2014-02-08 22:48:22

标签: asp.net iis signalr long-polling server-sent-events

我知道SignalR有它的传输方法层次结构:Websocket-> Server-Sent Events-> Forever Frame-> Long Polling

但是当我在每个浏览器中检查控制台时,我注意到传输总是长轮询。

我使用的是Windows 7,IIS Express 7.5和Visual Studio 2013(当然还有SignalR 2.0)。

我知道Websocket只支持IIS 8,但至少SSE或Forever Frame for IE应该可以工作。

例如在谷歌浏览器中,我得到了这个: enter image description here

这意味着,Chrome正试图使用​​SSE吗?但为什么要取消呢?

这里是Fiddler与Internet Explorer的截图:

enter image description here

它是蓝色的......代码是200.(为什么有不同的端口?网站在端口4040下运行,但11437来自哪里?) 甚至没有解释,为什么IE不会继续使用SSE。

我的意思是,SSE / Forever Frame 可以与IIS 7.5一起使用,不是吗?

提前谢谢!

PS:在你问之前,我在家里而不是代理人

2 个答案:

答案 0 :(得分:0)

对端口11437的SignalR请求由Visual Studio的新Browser Link feature创建,可以禁用。

您能告诉我们您的服务器端代码(特别是OnConnected中的任何内容)吗?查看对SSE和ForeverFrame / connect请求的响应也很有帮助。

最后,查看SignalR's server-side tracing可能会有所帮助。

答案 1 :(得分:0)

这有点晚了,但无论如何我想解决这个问题。

原因是Bitdefender Internet Security 2013。 它缓冲请求或类似的东西,我不确切地知道:X

无论如何,我卸载了它,这就是诀窍:D

相关问题