介尘部落

文学|音乐|休闲娱乐|计算机技术|地球科学|社会学——知识成就命运


.NET使用SignalR出现 Error during WebSocket handshake

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”

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

×