gpt4 book ai didi

c# - SignalR disconnect 在互联网断开/重新连接时未被调用

转载 作者:太空狗 更新时间:2023-10-29 20:17:30 24 4
gpt4 key购买 nike

我在我的应用程序中使用 SignalR。我有一个在很大程度上依赖于 OnDisconnected() 的应用程序被正确调用。并且在以下情况下被正确调用:

 public Task OnDisconnected()
{
try
{
DeleteUser(Context.ConnectionId);
return null;
}
catch (Exception ex)
{
return null;
}
}
  1. 用户刷新页面
  2. 用户导航到新页面
  3. 用户关闭浏览器

但是,如果网络连接突然断开,则不会调用它。例如,如果我拔掉客户端机器上的网线,或者禁用客户端的无线网络,或者拔掉路由器,OnDisconnected()永远不会被调用,即使等待几分钟。

最佳答案

它会引发断开连接但不会立即引发。有一个可配置的阈值(默认情况下为 30 秒),SignalR 在认为客户端断开连接之前将等待(在底层 tcp 连接消失之后并且这也不是立即发生的)。如果连接断开并在配置的超时之前重新连接,则它不会引发 OnDisconnected。

如果您在等待一段时间后从未在某些情况下看到它被引发,那么它可能是一个错误。 SignalR 1.0 今天发布了,所以我鼓励您也尝试一下,看看问题是否仍然存在。

关于c# - SignalR disconnect 在互联网断开/重新连接时未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14937347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com