【发布时间】:2013-02-18 13:22:06
【问题描述】:
我在我的应用程序中使用 SignalR。我有一个应用程序在很大程度上取决于 OnDisconnected() 被正确调用。并且在以下情况下正确调用:
public Task OnDisconnected()
{
try
{
DeleteUser(Context.ConnectionId);
return null;
}
catch (Exception ex)
{
return null;
}
}
- 用户刷新页面
- 用户导航到新页面
- 用户关闭浏览器
但是,如果网络连接突然断开,则不会调用它。例如,如果我拔掉客户端机器上的网线,或者禁用客户端的无线网络,或者拔掉路由器,即使等待几分钟,OnDisconnected() 也永远不会被调用。
【问题讨论】:
-
我与 SignalR 合作的次数不多,但我很确定它不是要检查的功能之一,如果用户仍然连接到集线器。您可能希望实现自己的计时器,该计时器将在 (x) 分钟后注销用户。
-
请浏览此链接,它可能对您有所帮助:dotnetcurry.com/ShowArticle.aspx?ID=826
标签: c# asp.net signalr signalr-hub signalr.client