我有一个 SignalR 中心来管理一种类型的消息传递。我需要在同一页面添加第二个中心,该页面只是发布消息并返回给其余客户端和发布的消息。
一个连接是否可以有多个集线器?问题是,如果一个集线器先于其他集线器启动,如果第一个集线器已经启动连接,我如何连接或订阅当前集线器?
它们都是一种消息传递类型的集线器,但可以使用多个或多个。
我该如何解决这个问题?
最佳答案
要为一个页面设置多个集线器,您不需要执行任何特殊操作,只需创建另一个集线器类即可。
为了确保您可以从集线器接收消息,请确保您在开始连接之前已为集线器注册了客户端方法。
因此,如果您想使用多个集线器,您所需要做的就是在开始连接之前为您想要订阅的集线器提供客户端方法。
无论您订阅了多少个集线器,它们都使用一个连接,这非常好:)。
要解决连接启动后想要“订阅”集线器的问题,您不能这样做。另一种方法是始终订阅两个集线器并使用组来控制数据发送的位置。您可以在此处了解有关群组的更多信息:http://www.asp.net/signalr/overview/signalr-20/hubs-api/working-with-groups
关于javascript - 如何在一个页面上拥有多个 SignalR 集线器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19825901/