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

本文关键字:SignalR 集线器 配置 | 更新日期: 2023-09-27 18:22:05

我遇到了一种情况,我需要多个具有不同配置的SignalR集线器(至少2个)。

目前使用v1.0,我只能做以下配置所有集线器的事情:

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

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

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

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

如果你想有一个服务器,但集线器有多个连接配置,你可以做以下事情:

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

因此,当您想要使用配置A时,您连接到该服务器端点,而当您想要连接到端点B时,您则连接到该端点。请记住,集线器不会在两种配置之间共享客户端/连接,即使集线器都在这两种配置上。