【问题标题】:Multiple SignalR Hubs with different backplanes (azure and SQL)具有不同背板(azure 和 SQL)的多个 SignalR 集线器
【发布时间】:2015-11-03 22:05:26
【问题描述】:

我需要在我的应用程序中定义几个 SignalR 集线器,其中大多数将使用 SQL Server 背板,但其中一个将使用 Azure 服务总线。

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

如何为特定的 Hub 指定不同的配置?

到目前为止,我看到的所有示例都使用 GlobalHost.DependencyResolver.UseServiceBus 来配置背板,但这将对所有集线器使用相同的背板,而不仅仅是一个。

【问题讨论】:

    标签: c# asp.net azure signalr


    【解决方案1】:

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

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

    所以在我看来,如果您将服务器配置为使用背板,则通过所有集线器的所有消息都将通过该 MessageBus 并到达所有服务器。

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

    我不明白如何为同一服务器设置多个背板。

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

    希望这会有所帮助:)

    祝你好运!

    【讨论】:

    • 反过来呢?我可以将相同的服务总线命名空间用作多个信号器服务的背板吗?
    猜你喜欢
    • 1970-01-01
    • 2020-11-24
    • 2022-08-09
    • 2017-02-10
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多