在与startCalled相连的情况下创建Signal R Hub

时间:2018-11-08 23:45:57

标签: c# asp.net-mvc signalr signalr-hub

Singal R集线器类调用中的C#方法'OnConnected()'

Clients.All.setConnectionStatus(profileId, true);

每页加载并登录!

使用我的'OnDisconnected(bool stopCalled)',如果有注销,我将检查'stopCalled',该属性在注销时设置为false,在页面加载时为true。我可以在“ OnConnected”方法中做任何事情来检查同一件事吗?例如“ bool startCalled”仅查找登录名而不是页面加载!

因为当前,每次加载页面时,我都必须发出一个“ setConnectionStatus”,这似乎是多余的,但过于夸张了。 是否没有一种方法可以仅通过“ OnDisconnected”来类似地查找登录名?

public override Task OnConnected()
    {
        string profileId = Context.User.Identity.Name;
        _connections.Add(profileId, Context.ConnectionId);
        Clients.All.setConnectionStatus(profileId, true);
        return base.OnConnected();
    }

    public override Task OnDisconnected(bool stopCalled)
    {
        string profileId = Context.User.Identity.Name;
        _connections.Remove(profileId, Context.ConnectionId);
        if (stopCalled == false) // log off only
            Clients.All.setConnectionStatus(profileId, false);
        return base.OnDisconnected(stopCalled);
    }

0 个答案:

没有答案