【问题标题】:SignalR on IIS 7.5 always uses Long Polling with every BrowserIIS 7.5 上的 SignalR 始终对每个浏览器使用长轮询
【发布时间】:2014-02-08 22:48:22
【问题描述】:

我知道 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 应该可以工作。

例如在谷歌浏览器中我得到这个:

也就是说,Chrome 正在尝试使用 SSE 对吗?但是为什么会取消呢?

这里是 Fiddler 与 Internet Explorer 的屏幕截图:

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

我的意思是,SSE/Forever Frame是否适用于 IIS 7.5,不是吗?

提前谢谢你!

PS:在你问之前,我在家而不是在代理后面

【问题讨论】:

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


    【解决方案1】:

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

    您能否向我们展示您的服务器端代码(尤其是 OnConnected 中的任何代码)?查看对 SSE 和 ForeverFrame /connect 请求的响应也会很有帮助。

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

    【讨论】:

      【解决方案2】:

      这有点晚了,但我还是想解决这个问题。

      原因是 Bitdefender Internet Security 2013。 它缓冲请求或类似的东西,我不太清楚:X

      不管怎样,我卸载了它,就成功了:D

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-17
        • 2013-09-14
        • 2011-02-06
        • 1970-01-01
        • 1970-01-01
        • 2013-07-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多