Signalr .NET 5.0中的信号器未检测到突然断开连接

Signalr .NET 5.0中的信号器未检测到突然断开连接,signalr,signalr-hub,Signalr,Signalr Hub,我正在Docker容器中运行.NET5.0中的信号器中心。我正在使用.NET5.0的内置信号器包。 它无法检测到突然断开的连接。如果我指示signar从客户端断开连接,它会检测到断开连接,但如果我只是关闭浏览器,signar不会检测到断开连接 这是我用来检测断开连接的代码的功能等价物 public override async Task OnDisconnectedAsync(Exception exception) { var userId = Map.GetUserFromMappi

我正在Docker容器中运行.NET5.0中的信号器中心。我正在使用.NET5.0的内置信号器包。 它无法检测到突然断开的连接。如果我指示signar从客户端断开连接,它会检测到断开连接,但如果我只是关闭浏览器,signar不会检测到断开连接

这是我用来检测断开连接的代码的功能等价物

public override async Task OnDisconnectedAsync(Exception exception)
{
    var userId = Map.GetUserFromMapping(Context.ConnectionId
    Map.Unmap(userId, Context.ConnectionId);
    await base.OnDisconnectedAsync(exception);
}
我知道这个问题存在于AspNetCore 2.1和更早的版本中,但我知道这个问题应该在以后的版本中得到修复


为什么没有检测到突然断开?什么因素会影响这一点?

解决了我自己的问题。我的设置又回到了长轮询,它没有保持活动的功能,因此无法检测到断开连接

public override async Task OnDisconnectedAsync(Exception exception)
{
    var userId = Map.GetUserFromMapping(Context.ConnectionId
    Map.Unmap(userId, Context.ConnectionId);
    await base.OnDisconnectedAsync(exception);
}