SignalR 2.2.0连接到集线器的WebSocket错误

时间:2015-06-23 19:02:19

标签: c# asp.net-mvc-4 signalr signalr-hub

我有一个ASP.Net MVC应用程序,我已将SignalR添加到。在关注" Getting Started"教程(当然,因为它在我的应用程序中进行了修改)我在localhost上工作了。但是,一旦它出现在生产环境中,我就会收到以下错误:

  

WebSocket连接到' ws:// xxxxx / signalr / connect?transport = webSockets& clientProtocol = 1.5& connectionToken = xxxxx'失败:在收到握手响应之前连接已关闭。

我可以访问/ signalr / hubs(我得到一个js文件)。关于为什么会发生这种情况的任何想法?

2 个答案:

答案 0 :(得分:3)

这可能是因为您的Web服务器不支持WebSockets(例如IIS 7.5)。这也可能是因为您使用了#34;代理"服务器就像ARR一样,它不能"路由" WebSocket请求。

我要做的第一件事就是在SignalR上禁用WebSockets,就像调试工具一样。以下是SignalR - How do I disable WebSockets

的方法

如果您的问题仍然存在,那么这是一个常见的SignalR问题,但至少您会遇到更具体的错误。如果问题停止,现在您知道这是服务器问题。

答案 1 :(得分:1)

如果像我这样的其他智障在使用 SignalR 和 Websocket 时遇到问题,请尝试切换到对我有用的 Longpolling。