1
我有一个调用信号R集线器方法的.net控制台应用程序。 我设法将连接配置为在发生多次故障后重新启动,并在超过重试次数后启动新的集线器实例。信号R集线器启动挂起
问题是有时候hub.start方法会挂起而没有任何异常,并且它没有进入延续。
下面是代码:
private static void restart()
{
Logging("Restarting connection", EventLogEntryType.Warning);
hubConnection.Start() // it stuck without any error after several retry
.ContinueWith((t) =>
{
if (restartCount <= restartRetryCountMax)
{
if (t.IsFaulted)
{
restartCount++;
restart();
}
else
{
CheckClientStatus();
}
}
else
{
restartCount = 0;
Logging("Initialize new connection", EventLogEntryType.Information);
start();//start a fresh hub instance
}
});
}
这是一个错误? 我使用signalr版本2.2.0
您在此显示的代码没有任何问题。你需要提供一个[MCVE](http://stackoverflow.com/help/mcve) –
我只是想简化一下,基本上这个方法在连接断开时被调用。我不想在每次连接超时时创建新的集线器实例,因此请重新启动连接而不创建新的集线器实例。如果我放置了一个中断点,它将触发中心启动方法,然后它将毫无例外地释放它。这种方法随机卡住。 –