【发布时间】:2021-09-02 04:59:23
【问题描述】:
普通SignalR 可以广播消息而无需过滤。
Clients.All.Send()
这将向所有连接到Hub 的客户端广播消息。同时,SignalR.Orleans 似乎只向特定组提供消息。
HubContext.Group(groupName).Send()
问题
有没有办法在奥尔良广播 SignalR 消息而不过滤和创建组?
【问题讨论】:
-
只需
HubContext.All.Send()应该可以正常工作。实现是here,如您所见,它们通过流向所有节点中的所有集线器广播消息。 -
@AliZeinali
HubContext好像没有这个方法。附图片。您提供的链接似乎扩展了 Silo 的方法,不确定我是否可以并且应该从谷物中调用 Silo... -
您使用的是哪个版本的 .NET?您使用的
HubContext不是 SignalR 的一部分,因为 SignalR HubContext 是内部的,它不公开 -
您应该使用具有
Clients属性的IHubContext<MessageHub>,然后您可以访问All -
@AliZeinali
HubContext实现的链接非常有用。我现在可以访问Clients.All。不确定常规SignalR在没有奥尔良背板的情况下能否正常工作,例如可能有来自多个孤岛的重复消息,但现在我可以尝试一下。随时发布到IHubContext的链接作为答案。我会接受的。谢谢。
标签: asp.net signalr signalr-hub orleans