向奥尔良的所有客户广播 SignalR 消息
Broadcast SignalR message to all clients in Orleans
常规 SignalR
能够在不过滤的情况下广播消息。
Clients.All.Send()
这将向连接到 Hub
的所有客户端广播消息。同时,SignalR.Orleans
似乎只向特定组提供消息。
HubContext.Group(groupName).Send()
问题
有没有办法在奥尔良广播 SignalR 消息而无需过滤和创建组?
您可以使用 IHubContext<THub>.Clients.All
,它会很好用。
SignalR.Orleans
包实现了它自己的 HublifetimeManager
(github) and when you config SignalR to AddOrleans
it would replace the DefaultHublifetimeManager
(github) 和它自己的实现,因此任何 IHubContext<THub>.Clients
或 IHubContext<THub>.Groups
的使用都将使用 Orleans 实现HublifetimeManager
个。
因此,当您使用 IHubContext<THub>.Clients.All
时,它将使用 OrleansHubLifetimeManager<THub>
发送消息,而在 detail it would broadcast your message to all silos with help of Orleans Streams
中
更多信息:
IHubContext<THub>.Clients.All
return an instance of AllClientProxy<THub>
它使用 HublifetimeManager.SendAllAsync
方法发送消息
常规 SignalR
能够在不过滤的情况下广播消息。
Clients.All.Send()
这将向连接到 Hub
的所有客户端广播消息。同时,SignalR.Orleans
似乎只向特定组提供消息。
HubContext.Group(groupName).Send()
问题
有没有办法在奥尔良广播 SignalR 消息而无需过滤和创建组?
您可以使用 IHubContext<THub>.Clients.All
,它会很好用。
SignalR.Orleans
包实现了它自己的 HublifetimeManager
(github) and when you config SignalR to AddOrleans
it would replace the DefaultHublifetimeManager
(github) 和它自己的实现,因此任何 IHubContext<THub>.Clients
或 IHubContext<THub>.Groups
的使用都将使用 Orleans 实现HublifetimeManager
个。
因此,当您使用 IHubContext<THub>.Clients.All
时,它将使用 OrleansHubLifetimeManager<THub>
发送消息,而在 detail it would broadcast your message to all silos with help of Orleans Streams
更多信息:
IHubContext<THub>.Clients.All
return an instance of AllClientProxy<THub>
它使用 HublifetimeManager.SendAllAsync
方法发送消息