Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用SignalR Core向组发送消息_Signalr_Signalr Hub_Asp.net Core Signalr - Fatal编程技术网

使用SignalR Core向组发送消息

使用SignalR Core向组发送消息,signalr,signalr-hub,asp.net-core-signalr,Signalr,Signalr Hub,Asp.net Core Signalr,这是我第一次实现signar,我从signarcore开始,因此一些示例和文档似乎不适用于新版本 我的目标是将收到的消息发送到特定的聊天室。我知道这可以通过使用组来实现 第一个问题:我没有找到一种方法来检查组中是否已经存在连接。我是否不需要检查组中是否已存在连接?我在每条消息中都会收到一个聊天室ID,这样我就可以轻松地将用户/连接添加到组中。我只是想知道我是否需要检查连接是否已经是组的成员 第二个问题:我想阻止发送者接收他自己的消息广播。似乎已从信号机核心删除了其他组。如果我将邮件发送到组,如何

这是我第一次实现
signar
,我从
signarcore
开始,因此一些示例和文档似乎不适用于新版本

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

第一个问题:我没有找到一种方法来检查组中是否已经存在连接。我是否不需要检查
组中是否已存在连接?我在每条消息中都会收到一个
聊天室ID
,这样我就可以轻松地将用户/连接添加到
组中
。我只是想知道我是否需要检查连接是否已经是组的成员

第二个问题:我想阻止发送者接收他自己的消息广播。似乎已从信号机核心删除了
其他组
。如果我将邮件发送到
,如何排除发件人

以下是我从IntelliSense获得的选项:


第一个问题:

没有内置的方法来检查连接是否在组中。这取决于您通过向中心注入服务或静态字典或其他方式来处理。因此,每次调用
Groups.AddAsync
Groups.RemoveAsync
时,您都可以跟踪它


关于第二个问题:


GroupExcept(string groupName,IReadOnlyList excludeIds)
是最近添加的,应该正是您想要的。

第二个问题: GroupExcept方法在信号器alpha上不可用。 你需要预览。 您可以将其添加到PM上运行:
dotnet add PROJECTNAME软件包Microsoft.AspNetCore.signar--版本2.1.0-preview1-27884--来源

感谢您的回复。我通过NuGet安装了最新的alpha,但我没有得到GroupExcept。你说它是最近添加的,所以可能还没有进入NuGet?在原始帖子中发布了IntelliSense给我的选项的屏幕截图。谢谢。客户端脚本呢?我也需要更新它们吗?对于C#client,我必须更新DLL,但我不能告诉你js