如何使用userId从组中添加/删除用户
Groups.Add(userid,"groupName")
我在数据库中使用的而不是使用connectionId
Groups.Add(connectionId,"groupName")
我创建了一个像这样的映射!使用用户ID提供程序方法,我可以这样做
Clients.Users(userId).sendMessage("asa")
,
Groups.Add(userid,"groupName")
它不工作。那么我如何使Groups.Add(userid,"groupName")工作呢?是否有我不知道的特殊映射或者我用错了这个?
不能将userId
添加到组中。你应该只使用connectionId
。根据您的需要,您可以使用您提供的链接中描述的另一种方法。
例如,将每个连接加入userId
命名的组:
Groups.Add(Context.ConnectionId, userId);
然后你可以发送消息给指定的用户:
Clients.Group(userId).sendMessage("asa");
另一个用例可能包括在OnConnected
方法中确定userId
,然后通过其connectionId
将用户添加到所需组:
var groupName = GetGroupNameByUserId(userId);
Groups.Add(Context.ConnectionId, groupName);
...
Clients.Group(groupName).sendMessage("asa");