SignalR 中group中用户断开时我们需要手动移除吗?

2021-10-04  乐帮网

c# signalr

在SignalR中,我们常见的用法如下:

public class ContosoChatHub : Hub
{
    public Task JoinRoom(string roomName)
    {
        return Groups.Add(Context.ConnectionId, roomName);
    }

    public Task LeaveRoom(string roomName)
    {
        return Groups.Remove(Context.ConnectionId, roomName);
    }
}

随之而来的问题就是当用户直接断开时这个Groups.Remove方法根本没有调用到,这个会不会有问题呢?如果你查看git上源码就会发现原来是你想多了,当用户意外断开时,会自行检查一下是不是属于任何一个组,如果为是,则会自动移除它。
 

 

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力