这是我SignalR
的第一次实施,我从SignalR Core
开始,所以有些示例和文档似乎不适用于新版本。
我的目标是将收到的消息发送到特定的聊天室。我知道这可以使用Groups
来实现。
第一个问题:我没有看到检查连接是否已在群组中的方法。我不需要检查Group
中是否已有连接?我收到每封邮件ChatRoomId
,因此我可以轻松地将用户/连接添加到Group
。我只是想知道我是否需要检查连接是否已经是组的成员。
第二个问题:我想排除发件人接收他自己的消息的广播。看似OthersInGroup
已从SignalR Core
中移除。如果我将邮件发送到Group
?
这些是我从IntelliSense获得的选项:
答案 0 :(得分:1)
对于第一个问题:
没有内置方法来检查连接是否在组中。您可以通过注入服务到集线器或静态字典等来处理。因此,每次拨打git pull
和Groups.AddAsync
时,您都可以跟踪该内容。
关于第二个问题:
Groups.RemoveAsync
最近添加了,应该正是您所要求的。
答案 1 :(得分:1)
关于第二个问题: SignalR alpha上没有GroupExcept方法。 你需要预览。 您可以在PM上添加它: dotnet添加PROJECTNAME包Microsoft.AspNetCore.SignalR --version 2.1.0-preview1-27884 --source https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json