我有一个ASP.Net MVC应用程序,我已将SignalR添加到。在关注" Getting Started"教程(当然,因为它在我的应用程序中进行了修改)我在localhost上工作了。但是,一旦它出现在生产环境中,我就会收到以下错误:
WebSocket连接到' ws:// xxxxx / signalr / connect?transport = webSockets& clientProtocol = 1.5& connectionToken = xxxxx'失败:在收到握手响应之前连接已关闭。
我可以访问/ signalr / hubs(我得到一个js文件)。关于为什么会发生这种情况的任何想法?
答案 0 :(得分:3)
这可能是因为您的Web服务器不支持WebSockets(例如IIS 7.5)。这也可能是因为您使用了#34;代理"服务器就像ARR一样,它不能"路由" WebSocket请求。
我要做的第一件事就是在SignalR上禁用WebSockets,就像调试工具一样。以下是SignalR - How do I disable WebSockets
的方法如果您的问题仍然存在,那么这是一个常见的SignalR问题,但至少您会遇到更具体的错误。如果问题停止,现在您知道这是服务器问题。
答案 1 :(得分:1)
如果像我这样的其他智障在使用 SignalR 和 Websocket 时遇到问题,请尝试切换到对我有用的 Longpolling。