使用SignalR Core向组发送消息

时间:2018-01-05 23:47:29

标签: signalr signalr-hub asp.net-core-signalr

这是我SignalR的第一次实施,我从SignalR Core开始,所以有些示例和文档似乎不适用于新版本。

我的目标是将收到的消息发送到特定的聊天室。我知道这可以使用Groups来实现。

第一个问题:我没有看到检查连接是否已在群组中的方法。我不需要检查Group中是否已有连接?我收到每封邮件ChatRoomId,因此我可以轻松地将用户/连接添加到Group。我只是想知道我是否需要检查连接是否已经是组的成员。

第二个问题:我想排除发件人接收他自己的消息的广播。看似OthersInGroup已从SignalR Core中移除。如果我将邮件发送到Group

,如何排除发件人

这些是我从IntelliSense获得的选项:

enter image description here

2 个答案:

答案 0 :(得分:1)

对于第一个问题:

没有内置方法来检查连接是否在组中。您可以通过注入服务到集线器或静态字典等来处理。因此,每次拨打git pullGroups.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