Azure Web 应用程序:Web 套接字在 100 秒后中止
Azure web app: Web sockets abort after 100 seconds
我正在编写一个 Web 套接字应用程序,我打算使用 Azure Web 应用程序将其托管在云上。
Web 套接字是使用相当标准的 Owin 中间件实现的,并且在前 100 秒内功能齐全。这段时间之后,websocket 似乎像发条一样进入中止状态。
[CLIENT][06/04/2018 11:27:21] WS client connected
[CLIENT][06/04/2018 11:29:01] WS client disconnected
在 IIS Express 实例上尝试此操作会出现同样的问题,尽管延迟似乎是 90 秒而不是 100 秒(这也是一致的)。
运行 作为 Owin 自托管应用程序的一部分的相同 websocket 在超过 25 分钟内保持稳定 - 所以这肯定是由托管服务器引起的问题。
在 azure web 应用程序托管上,我启用了 web 套接字,并且还尝试启用 "Always On" 功能,希望这可以通过防止服务器进入待机状态来防止问题 - 但是这没有帮助。
是否有任何我不知道的 azure 设置可以进行调整,以便这些网络套接字可以保持打开更长时间?
非常感谢
不幸的是,似乎 azure 和 IIS 都是转移注意力的问题,而是使用 System.Net.Websockets.ClientWebSocket 的 C# 实现时遇到的问题。详细信息总结在:.NET WebSockets forcibly closed despite keep-alive and activity on the connection
对于遇到此问题的其他人,一个有效(但不理想)的解决方法是 运行 在创建客户端网络套接字之前执行以下操作一次:
ServicePointManager.MaxServicePointIdleTime = int.MaxValue;
我正在编写一个 Web 套接字应用程序,我打算使用 Azure Web 应用程序将其托管在云上。
Web 套接字是使用相当标准的 Owin 中间件实现的,并且在前 100 秒内功能齐全。这段时间之后,websocket 似乎像发条一样进入中止状态。
[CLIENT][06/04/2018 11:27:21] WS client connected
[CLIENT][06/04/2018 11:29:01] WS client disconnected
在 IIS Express 实例上尝试此操作会出现同样的问题,尽管延迟似乎是 90 秒而不是 100 秒(这也是一致的)。
运行 作为 Owin 自托管应用程序的一部分的相同 websocket 在超过 25 分钟内保持稳定 - 所以这肯定是由托管服务器引起的问题。
在 azure web 应用程序托管上,我启用了 web 套接字,并且还尝试启用 "Always On" 功能,希望这可以通过防止服务器进入待机状态来防止问题 - 但是这没有帮助。
是否有任何我不知道的 azure 设置可以进行调整,以便这些网络套接字可以保持打开更长时间?
非常感谢
不幸的是,似乎 azure 和 IIS 都是转移注意力的问题,而是使用 System.Net.Websockets.ClientWebSocket 的 C# 实现时遇到的问题。详细信息总结在:.NET WebSockets forcibly closed despite keep-alive and activity on the connection
对于遇到此问题的其他人,一个有效(但不理想)的解决方法是 运行 在创建客户端网络套接字之前执行以下操作一次:
ServicePointManager.MaxServicePointIdleTime = int.MaxValue;