多个SignalR集线器具有不同的配置

时间:2013-07-12 21:02:22

标签: c# asp.net signalr signalr-hub

我遇到了需要使用不同配置的多个SignalR集线器(至少2个)的情况。

目前使用v1.1.0我只能执行以下配置所有集线器的操作:

GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(30);

是否可以为多个集线器设置不同的配置?

1 个答案:

答案 0 :(得分:5)

所有集线器共享相同的连接对象,因此它们共享相同的配置。

如果您想为集线器提供1个服务器但有多个连接配置,则可以执行以下操作:

app.MapHubs(yourPathToConnectionWithConfigurationA, new HubConfiguration
{
    Resolver = MyResolverWithConfigurationA
});

app.MapHubs(yourPathToConnectionWithConfigurationB, new HubConfiguration
{
    Resolver = MyResolverWithConfigurationB
});

因此,当您要使用配置A时,您将连接到该服务器端点,并且当您要连接到端点B时,您将连接到该端点。请记住,集线器不会在两个配置之间共享客户端/连接,即使集线器都在两者上也是如此。