ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程。自动的适配提供websocket或者长轮询等方式来进行通讯。
在开发的过程中,碰到如下错误:WebSocket connection to ‘ws://*****’ failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET。
由于还是可以使用,且当时以为是系统环境的原因,就放任没理 o(╯□╰)o。后来发现SignalR使用的是长轮询的方式,没有用到websocket。在项目需要优化时候,为了提升流畅度,只能用websocket方式后,项目报错后运行不了,websocket连接失败。
规定只能用使用websocket连接方式:
$.connection.hub.start({ transport: ['webSockets'] }) .done(function () { console.log('Connect success!'); }) .fail(function () { console.log('Could not Connect!'); });
查找websocket使用不了的原因,是由于web.config文件没有配置好。SignalR正确运行需要在system.web节点下添加下面的配置项:
<httpRuntime maxRequestLength="502400" targetFramework="4.5" requestValidationMode="2.0" />
阅读全文
公众号近期文章
赞赏支持
0 Responses to “.NET使用SignalR出现 Error during WebSocket handshake”