0

我们正在评估 Azure SignalR 服务以可能取代我们当前的本地 SignalR 服务。我们正在使用.Net Core 2.2.402

我们尝试了以下方法:

services.AddSignalR();
services.AddSignalR().AddAzureSignalR(Configuration["Azure-SignalR:Connection-String"]);

并定义路由和集线器如下:

            app.UseAzureSignalR(route =>
            {
                route.MapHub<QueueHub>("/queue");
            });
            app.UseSignalR(route =>
            {
                route.MapHub<MessagesHub>("/message");
            });

理想情况下,我们希望在同一个 Web App 中同时使用两者,但它似乎只适用于其中一个。

4

1 回答 1

0

使用Azure SignalR时,当客户端启动与服务器的连接时,您的.NET CORE应用会将连接重定向到 Azure,因此使用处理连接Azure SignalR,您只需提供逻辑集线器本身。当您这样做services.AddSignalR().AddAzureSignalR(...)时,似乎只有 signalR 的第一个注册被您的第二个语句覆盖,这可能是您不能同时使用两者的原因。

于 2020-08-14T22:12:39.570 回答