具有不同背板(azure和SQL)的多个SignalR集线器
本文关键字:SQL 集线器 SignalR azure | 更新日期: 2023-09-27 18:20:30
我需要在我的应用程序中定义几个SignalR集线器,其中大多数将使用SQL Server背板,但其中一个将使用Azure服务总线。
在同一个应用程序中有可能有两个不同的背板吗?
如何为特定集线器指定不同的配置?
到目前为止,我看到的所有示例都使用GlobalHost.DependencyResolver.UseServiceBus来配置背板,但这将对所有集线器使用相同的背板,而不仅仅是一个。
SignalR使用IMessageBus的实现来将消息从客户端传递到客户端:一个用户向另一个用户发送消息;这个消息将到达服务器,它将通过MessageBus,然后它将实际通过套接字并在线发送给其他用户。
通过使用背板,您可以告诉SignalR使用MessageBus的不同实现,该实现将通过该背板发送所有消息(SQL、Azure服务总线、Redis)。
因此,在我看来,如果您将服务器配置为使用背板,则通过所有集线器的所有消息都将通过该MessageBus到达所有服务器。
所以我不确定你是否能够通过消息来源的集线器来过滤消息,以便将它们发送到不同的背板。
我看不出你怎么能为同一台服务器拥有多个背板。
如果您确实需要多个背板,可以考虑使用两个不同配置的SignalR服务器。
希望这有帮助:)
祝你好运!