C# 信号R集线器启动挂起

C# 信号R集线器启动挂起,c#,signalr,C#,Signalr,我有一个.net控制台应用程序,它调用signal R hub方法。 我成功地将连接配置为在多次失败后重新启动,并在超过重试次数后启动一个新的集线器实例 问题有时是hub.start方法会毫无例外地挂起,并且它没有进入continuation 代码如下: private static void restart() { Logging("Restarting connection", EventLogEntryType.Warning); hubConn

我有一个.net控制台应用程序,它调用signal R hub方法。 我成功地将连接配置为在多次失败后重新启动,并在超过重试次数后启动一个新的集线器实例

问题有时是hub.start方法会毫无例外地挂起,并且它没有进入continuation

代码如下:

 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 
            }
        });
    }
private static void restart()
{
日志记录(“重新启动连接”,EventLogEntryType.Warning);
hubConnection.Start()//在多次重试后,它没有出现任何错误
.ContinueWith((t)=>
{

如果(restarcount此处显示的代码没有问题。您需要提供一个示例。我只是想让它简单一点,基本上这个方法是在连接断开时调用的。我不想每次连接超时时都创建新的集线器实例,所以在不创建新的集线器实例的情况下再次启动连接。如果我在它将命中hub start方法,然后它将毫无例外地释放它。此方法随机卡住。您在此处显示的代码没有问题。您需要提供一个示例。我只是想让它简单一些,基本上此方法是在连接断开时调用的。我不想每次连接时都创建新的hub实例默认值为超时,因此在不创建新的集线器实例的情况下再次启动连接。如果我放置断点,它将命中集线器启动方法,然后它将毫无例外地释放它。此方法随机卡住。