我使用SignalR在我app.I具有取决于一个很大的程度上OnDisconnected()
正确调用的应用程序。而且它在下列情况下正确调用:SignalR断开连接不会被调用互联网上断开/重新连接
public Task OnDisconnected()
{
try
{
DeleteUser(Context.ConnectionId);
return null;
}
catch (Exception ex)
{
return null;
}
}
- 用户刷新页面
- 用户导航到一个新的页面
- 用户关闭浏览器
然而,如果网络连接突然下降,它不会被调用。例如,如果我拔掉客户端计算机上的网线,或者禁用客户端的无线网络,或者拔掉路由器,即使等待几分钟,OnDisconnected()
也不会被调用。
我还没有与SignalR那么多的工作了,但是我敢肯定它不是其functionallities之一检查,如果用户仍然连接到集线器。您可能想要实现自己的计时器,该计时器将在(x)分钟后将用户注销。 – Timsen 2013-02-18 13:43:01
就菲尔德在这个环节,它可能是有益的给你:http://www.dotnetcurry.com/ShowArticle.aspx?ID=826 – Timsen 2013-02-18 14:12:51