SignalR 2.2.0 WebSocket 连接到集线器时出错

Bar*_*cer 6 c# asp.net-mvc-4 signalr signalr-hub

我有一个 ASP.Net MVC 应用程序,我已将 SignalR 添加到其中。在遵循“入门”教程(当然进行了修改,因为它出现在我的应用程序中)之后,我让它在本地主机上运行。但是一旦进入生产环境,就会出现以下错误:

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

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

And*_*ena 7

这可能是因为您的 Web 服务器不支持 WebSocket(例如 IIS 7.5)。也可能是因为您使用的是像 ARR 这样的“代理”服务器,而它无法“路由”WebSocket要求。

我要做的第一件事是禁用 SignalR 上的 WebSockets,就像调试工具一样。操作方法如下:SignalR - 如何禁用 WebSockets

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