具有不同背板的多个SignalR集线器(天蓝色和SQL)

时间:2015-11-03 22:05:26

标签: c# asp.net azure signalr

我需要在我的应用程序中定义几个SignalR Hub,其中大多数将使用SQL Server Backplane,但其中一个将使用Azure Service Bus。

是否可以在同一个应用程序中使用两个不同的背板?

如何为特定Hub指定其他配置?

到目前为止,我所见过的所有样本都使用GlobalHost.DependencyResolver.UseServiceBus来配置背板,但是对于所有集线器都使用相同的背板,而不仅仅是一个。

1 个答案:

答案 0 :(得分:0)

SignalR使用IMessageBus的实现来传递来自客户端到客户端的消息:用户向另一个消息发送消息;此消息将到达服务器,它将通过MessageBus,然后它将实际通过套接字并在线发送给其他用户。

通过使用背板,您可以告诉SignalR使用MessageBus的不同实现,它将通过该背板发送所有消息(SQL,Azure Service Bus,Redis)。

所以我看到它的方式,如果您将服务器配置为使用背板,所有通过所有集线器的消息都将通过该MessageBus传递到所有服务器。

所以我不确定您是否能够通过它们来自的集线器过滤消息,以便将它们发送到不同的背板。

我不知道如何为同一台服务器安装多个背板。

如果您确实需要多个背板,请考虑使用两个配置不同的SignalR服务器。

希望这会有所帮助:)

祝你好运!