signalR客户端断开连接

时间:2013-03-14 02:14:28

标签: asp.net signalr

我正在使用signalR制作聊天应用程序,我想知道我是否可以在客户端捕获断开连接然后在集线器上调用方法?

例如,我想做这样的事情:

var myHub = $.connection.myHub;
$.connection.hub.start();

myHub.disconnect(function () { myHub.server.someMethod(username) });

其中myHub.disconnect是用户断开连接时的事件?

感谢。

1 个答案:

答案 0 :(得分:3)

不,你不能。当断开连接触发时,连接将处于断开连接状态,这不允许触发任何其他方法。

如果要在连接断开连接后执行逻辑绑定到集线器上的OnDisconnected覆盖。例如:

public class MyHub : Hub
{
    public override Task OnDisconnected()
    {
        // Do what you want here
        return base.OnDisconnected();
    }
}