如何在用户窗口从signalR关闭时收到通知

时间:2013-02-25 03:23:10

标签: c# javascript signalr signalr-hub

当用户加入并重新加入群组时,我能够立即收到通知。 我不知道我在这里做错了什么,但是当用户离开时我无法收到通知。

以下是在客户端启动集线器的代码。

$.connection.hub.start();

以下是我用来停止连接的内容。

$.connection.hub.stop();

停止似乎没有断开用户连接,因此我无法更新组中的其他用户并从会话中删除该连接。

要回拨的客户端代码

$.connection.hub.proxies.collaboratorhub.client.joined = function (connectionId) {
    //
    console.log('joined : ' + connectionId);
};
$.connection.hub.proxies.collaboratorhub.client.joined = function (connectionId) {
    //
    console.log('Re joined : ' + connectionId);
};
$.connection.hub.proxies.collaboratorhub.client.gone = function (connectionId) {
    //
    console.log('gone : ' + connectionId);
};

这是服务器端的c#代码。

public override Task OnConnected()
{
    string pid = this.Context.QueryString["pid"];
    Groups.Add(this.Context.ConnectionId, pid);

    return Clients.Group(pid).joined(Context.ConnectionId);
}

public override Task OnDisconnected()
{
    string pid = this.Context.QueryString["pid"];
    Groups.Remove(Context.ConnectionId, pid);

    return Clients.Group(pid).gone(Context.ConnectionId);
}
public override Task OnReconnected()
{
    string pid = this.Context.QueryString["pid"];

    return Clients.Group(pid).rejoined(Context.ConnectionId);
}

加入和重新加入工作完美,但不是断开连接。

我在这里缺少什么?

0 个答案:

没有答案