我正在使用 xsockets 在本地运行 ASP.NET Web API 应用程序,没有任何问题。当我将项目发布到 Azure 时,它无法连接。我为 Azure 启用了 websockets 并调整了客户端的 xsockets url
来自: conn = new XSockets.WebSocket("ws://localhost:50838/api/Chat");
至: conn = new XSockets.WebSocket("ws://.azurewebsites.net/api/Chat");
有什么建议吗?
阿努德
最佳答案
XSockets 默认情况下会传入子协议(protocol)“XSocketsNET”,并且出于某种原因,Azure 在响应中将其过滤掉。它在仿真中运行良好,但在 Azure 上,子协议(protocol)被删除。这会导致 Chrome 出现错误,因为 Chrome 检查子协议(protocol)时会给出以下错误:
WebSocket connection to 'ws://xmvc.azurewebsites.net/Home' failed: Error during WebSocket handshake: Sent non-empty 'Sec-WebSocket-Protocol' header but no response was received
它在其他不执行此检查的浏览器中工作正常。我已经在 this sample site running XSockets on a Azure WebSite 上尝试过 IE10 和 Firefox
在我看来,Chrome 正在做正确的事情,而 Azure 有一个错误。
编辑: 请注意 Azure 网站限制 Websocket 连接! 免费站点:5 个连接 共享站点:35 个连接 标准站点:350 个连接
关于asp.net - XSockets.net azure 网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22742081/