Dan*_*ell 11 long-polling websocket signalr browser-link
我知道SignalR用于使用注入的动脉脚本与客户端浏览器进行通信.我有一个似乎常见的问题,那就是我的浏览器的网络日志中填充了如下所示的条目:
.../arterySignalR /民意调查?运输= longPolling&connectionToken = ...
这告诉我SignalR已经回归到长轮询,而不是使用网络套接字.假设我们有一个支持Web套接字的浏览器,并且该浏览器在localhost上运行,那么SignalR默认不应该使用Web套接字吗?什么可能导致它回归长期民意调查?
简短的回答
浏览器链接仅在Windows 8或Windows Server 2012上使用WebSockets
更长的答案
如果您在Windows 7,Windows Vista或Windows Server 2008上使用Visual Studio,以下内容将解释此问题:
IIS(Express)依赖于.NET框架实现System.Net.WebSockets来处理WebSocket连接; 正如您可以在MSDN链接中看到的那样,在Windows 7上安装.NET 4.5时,您根本无法获得必要类的实际实现.
因此,在这种情况下,服务器无法同意客户端从标准HTTP更改为WebSocket协议的请求,这会强制SignalR客户端使用其中一个备用选项(在您的情况下:长轮询).
| 归档时间: |
|
| 查看次数: |
1875 次 |
| 最近记录: |