使用HubConnection在SignalR中重新连接的正确逻辑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用HubConnection在SignalR中重新连接的正确逻辑相关的知识,希望对你有一定的参考价值。

我需要将客户端应用程序(SignalR)重新连接到服务器应用程序(SignalR),直到它连接。

但它始终有ConnectionState.Reconnecting ......所以我不知道如何重新连接。

我发现这种方法qazxsw poi说我们必须创建qazxsw poi作为一种独特的工作方法......

任何线索?

我的代码是

Best practice for reconnecting SignalR 2.0 .NET client to server hub
答案

所以我发现了这个最酷的解决方案HubConnection

System.Timers.Timer connectionChecker = new System.Timers.Timer(20000);
HubConnection Connection { get; set; }

private void  ConnectionChecker_ElapsedAsync(object sender, System.Timers.ElapsedEventArgs e)
{
    if (Connection.State == ConnectionState.Disconnected)
    {
        connectionChecker.Stop();
        ForceConnectAsync().Start(); // In this method await Connection.Start();
    }
    else if (Connection.State == ConnectionState.Connecting)
    {
        // After conection lost it keeps this state ALWAYS.
        // But once server is up it still has this state.
    }
    else if (Connection.State == ConnectionState.Reconnecting)
    {
    }
    else if (Connection.State == ConnectionState.Connected)
    {
    }
}

以上是关于使用HubConnection在SignalR中重新连接的正确逻辑的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS 与 SignalR

SignalR JavaScript客户端API调用连接

SignalR 集线器连接在 Xamarin Forms iOS 中不起作用

在asp.net核心信号R中阻止交叉原始请求?

SignalR系列教程:在MVC在使用SignalR

MVC5使用SignalR进行双向通信