如何使用userId
在组中添加/删除用户Groups.Add(userid,"groupName")
我在数据库中使用而不是使用connectionId
Groups.Add(connectionId,"groupName")
我创建了一个像here这样的映射!使用User ID Provider方法,我能够做到这一点
Clients.Users(userId).sendMessage("asa")
但
Groups.Add(userid,"groupName")
它不起作用。 那么如何才能使 Groups.Add(userid,“groupName”)工作?是否有一个我不知道的特殊映射,或者我正在使用这个错误?
答案 0 :(得分:2)
无法将userId
添加到群组。您应该只使用connectionId
。
根据您的需要,您可以使用the link you provided中描述的方法。
例如,您可以将每个连接添加到由userId
命名的组:
Groups.Add(Context.ConnectionId, userId);
然后您可以向指定用户发送消息:
Clients.Group(userId).sendMessage("asa");
另一个用例可能包括在userId
方法中确定OnConnected
,然后通过其connectionId
将用户添加到所需的群组:
var groupName = GetGroupNameByUserId(userId);
Groups.Add(Context.ConnectionId, groupName);
...
Clients.Group(groupName).sendMessage("asa");