如何在一个页面上有多个 SignalR 中心

How to have multiple SignalR hub on one page

本文关键字:中心 SignalR 一个      更新时间:2023-09-26

我有一个管理一种消息传递的 SignalR 中心。我需要在同一页面上添加第二个中心,该中心只是一个发布消息并返回给其余客户端和已发布的消息。

一个连接是否可以有多个集线器?交易是,如果一个集线器在其他集线器之前启动,如果第一个集线器已经启动连接,我如何连接或订阅当前集线器?

它们都是一种消息传递类型的中心,但可以使用许多或可以使用。

我该如何处理?

明矾云

要为一个页面设置多个中心,您无需执行任何特殊操作,只需创建另一个中心类即可。

若要确保通常可以从中心接收消息,请确保在开始连接之前已为中心注册了客户端方法。

因此,如果要使用多个中心,只需在开始连接之前为要订阅的中心设置客户端方法即可。

无论您订阅了多少个集线器,它们都使用一个连接,这:)非常好。

若要解决在连接启动后想要"订阅"中心的问题,不能。 另一种方法是始终订阅两个中心并使用组来控制数据的发送位置。 您可以在此处了解有关群组的更多信息:http://www.asp.net/signalr/overview/signalr-20/hubs-api/working-with-groups