【发布时间】:2020-12-08 13:37:49
【问题描述】:
ASP.NET Core SignalR
我知道我们可以向群组发送消息。我知道我们可以向用户发送消息。有没有办法向组中的用户发送消息,即以前受众的交集。
据我了解:组是元数据中具有组名的连接的集合,而用户是身份验证声明中具有用户名的集合连接。组中的用户将是属于特定用户并且属于特定组的连接的集合。
从 SignalR 内部的工作原理来看,这应该是可能的,但很可能没有公开这种方法。
用例:假设您有一群人的聊天群组,并且您想向群组中的一个用户发送特定的系统消息。例如,假设服务器需要随机选择组中的一个用户并向他们发送一个游戏的密码,其他人不应该知道(假设服务器已经有一个组中所有用户的列表,并且那是不变的,只有连接可能会改变)。消息应该发送给特定用户,而不是发送给他的所有连接。他可能还有其他一些对不同聊天组处于活动状态的连接,因此我们不想通知这些连接。我们只想定位属于该用户且当前属于特定聊天组的连接。
我在无服务器模式下将 Azure SignalR 服务与 NodeJS Azure Function Apps 一起使用。 C# 中默认服务器模式的答案也会有所帮助。
【问题讨论】:
-
也在 github 上添加了一个问题 - github.com/Azure/azure-signalr/issues/1144
-
有一个类似的问题,但
.NET Core SignalR与 5 年前的.NET SignalR明显不同 - stackoverflow.com/questions/34381104/… -
这些steps可以解释如何通过signalr发送消息。
标签: signalr asp.net-core-signalr azure-signalr