我需要在我的应用程序中定义几个SignalR Hub,其中大多数将使用SQL Server Backplane,但其中一个将使用Azure Service Bus。
是否可以在同一个应用程序中使用两个不同的背板?
如何为特定Hub指定其他配置?
到目前为止,我所见过的所有样本都使用GlobalHost.DependencyResolver.UseServiceBus来配置背板,但是对于所有集线器都使用相同的背板,而不仅仅是一个。
答案 0 :(得分:0)
SignalR使用IMessageBus的实现来传递来自客户端到客户端的消息:用户向另一个消息发送消息;此消息将到达服务器,它将通过MessageBus,然后它将实际通过套接字并在线发送给其他用户。
通过使用背板,您可以告诉SignalR使用MessageBus的不同实现,它将通过该背板发送所有消息(SQL,Azure Service Bus,Redis)。
所以我看到它的方式,如果您将服务器配置为使用背板,所有通过所有集线器的消息都将通过该MessageBus传递到所有服务器。
所以我不确定您是否能够通过它们来自的集线器过滤消息,以便将它们发送到不同的背板。
我不知道如何为同一台服务器安装多个背板。
如果您确实需要多个背板,请考虑使用两个配置不同的SignalR服务器。
希望这会有所帮助:)
祝你好运!