SignalR断开连接并重新连接尝试

时间:2017-05-22 13:05:42

标签: c# signalr signalr.client

我注意到在ASP.Net Web Forms SignalR实现中,客户端在大约30分钟后失去连接,然后由于连接ID无效而出现重新连接和故障风暴。

我如何限制此重试次数或次数?

提前谢谢

1 个答案:

答案 0 :(得分:1)

我认为可以在 docs.microsoft.com 文章中找到可能的解决方案

https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/handling-connection-lifetime-events#timeoutkeepalive

在某些应用程序中,您可能希望在连接丢失并重新连接尝试超时后自动重新建立连接。为此,您可以从Closed事件处理程序(JavaScript客户端上的已断开事件处理程序)调用Start方法。您可能希望在调用Start之前等待一段时间,以避免在服务器或物理连接不可用时过于频繁地执行此操作。

在Javascript中

$.connection.hub.disconnected(function() {
     setTimeout(function() {
     $.connection.hub.start();
   }, 25000); // Restart connection after 25 seconds.
 });

因此您可以使用类似的东西并尝试提高时间参数,以便不那么频繁地重新连接