Asp.net XSockets.net azure网站
我正在使用xsockets本地运行我的ASP.NET Web API应用程序,没有任何问题。当我将项目发布到Azure时,它将无法连接。我为Azure启用了websockets,并在客户端调整了xsockets url 发件人: conn=newxsockets.WebSocket(“ws://localhost:50838/api/Chat”) 致: conn=newxsockets.WebSocket(“ws://.azurewebsites.net/api/Chat”) 有什么建议吗Asp.net XSockets.net azure网站,asp.net,azure,xsockets.net,Asp.net,Azure,Xsockets.net,我正在使用xsockets本地运行我的ASP.NET Web API应用程序,没有任何问题。当我将项目发布到Azure时,它将无法连接。我为Azure启用了websockets,并在客户端调整了xsockets url 发件人: conn=newxsockets.WebSocket(“ws://localhost:50838/api/Chat”) 致: conn=newxsockets.WebSocket(“ws://.azurewebsites.net/api/Chat”) 有什么建议吗 默认
默认情况下,ArnoudXSockets会在子目录“XSocketsNET”中传递,出于某种原因,Azure会在响应中过滤掉它。它在仿真中运行良好,但在Azure上,子协议被删除。这会在Chrome中导致错误,因为Chrome会检查子程序,并给出以下错误:
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
它在不执行此检查的其他浏览器中工作正常。我试过IE10和Firefox
在我看来,Chrome做的是正确的,Azure有一个bug
编辑:
请注意Azure网站限制websocket连接的事实!!!
免费站点:5个连接
共享站点:35个连接
标准站点:350个连接根据微软的说法,通过Wss/Https使用WebSockets就可以了,我刚刚做了一个测试,结果还是一样的 如果您在握手过程中从服务器传递消息,则最有可能从响应事件中删除“不必要的”子协议头 那么,在使用WindowsAzure时,您不能像看上去那样依赖子策略吗