Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 信号器:客户端断开连接_C#_Model View Controller_Signalr_Disconnect - Fatal编程技术网

C# 信号器:客户端断开连接

C# 信号器:客户端断开连接,c#,model-view-controller,signalr,disconnect,C#,Model View Controller,Signalr,Disconnect,信号员如何处理客户端断开连接?如果我陈述以下几点,对吗 Signal将通过Javascript事件处理检测浏览器页面关闭/刷新,并将适当的数据包发送到服务器(通过持久连接) 信号器不会检测到浏览器关闭/网络故障(可能仅通过超时) 我的目标是长途运输 我知道,但我想说清楚一点。如果用户刷新页面,这将被视为新连接。断开连接基于超时是正确的 您可以通过实现signar.Hubs.IConnected和signar.Hubs.IDisconnect来处理集线器中的连接/重新连接和断开事件 上面提到的

信号员如何处理客户端断开连接?如果我陈述以下几点,对吗

  • Signal将通过Javascript事件处理检测浏览器页面关闭/刷新,并将适当的数据包发送到服务器(通过持久连接)
  • 信号器不会检测到浏览器关闭/网络故障(可能仅通过超时)
我的目标是长途运输

我知道,但我想说清楚一点。

如果用户刷新页面,这将被视为新连接。断开连接基于超时是正确的

您可以通过实现
signar.Hubs.IConnected
signar.Hubs.IDisconnect来处理集线器中的连接/重新连接和断开事件

上面提到的是信号机0.5.x

来自(目前适用于v1.1.3):


在SignalR 1.0中,不再实现SignalR.Hubs.IConnected和SignalR.Hubs.IDisconnect,现在它只是对集线器本身的覆盖:

public class Chat : Hub
{
    public override Task OnConnected()
    {
        return base.OnConnected();
    }

    public override Task OnDisconnected()
    {
        return base.OnDisconnected();
    }

    public override Task OnReconnected()
    {
        return base.OnReconnected();
    }
}
public class Chat : Hub
{
    public override Task OnConnected()
    {
        return base.OnConnected();
    }

    public override Task OnDisconnected()
    {
        return base.OnDisconnected();
    }

    public override Task OnReconnected()
    {
        return base.OnReconnected();
    }
}