使用Azure的SignalR - 在发布配置与调试配置上默认由Azure.SignalR服务强制执行 (.net core 3.1)

问题描述 投票:0回答:1

我已经设置了一个应用程序和部署使用Azure。如果我部署并连接到Azure SignalR,那么它是好的,我可以管理与Azure消息限制等。然而,当我尝试使用项目中的 "默认 "SignalR而不是Azure服务时,发布配置仍然试图连接到Azure的。

在我的startup.cs中,我特别尝试不使用Azure的SignalR。

services.AddSignalR();

我已经注释了指向Azure的这一行。

services.AddSignalR().AddAzureSignalR("Endpoint=https://<myApp>.service.signalr.net;AccessKey=<MyKey>;Version=1.0;");

现在,当我发布作为一个Release配置,Azure在线试图连接到这个主机。

service.signalr.net

而如果我以Debug配置的形式发布,Azure online则连接到我想要的主机。

.azurewebsites.net

这是我现在想要的。

我试图找出是哪个varialbe "强迫 "Azure在发布模式下使用他自己的Service.SignalR.net。它可能是一些变量,我可以看到下面的Azure应用程序? 或者是一个设置,我需要把在Visual Studio代码?

Thx.

enter image description here

azure signalr settings
1个回答
0
投票

我相信,你可以做的是像定义启动时使用一个或另一个环境的东西,但我不能说什么将是行为,当你将设置你的变量在azure。

你应该尝试一下这样的事情。

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseSignalR(routes =>
            {
                routes.MapHub<YourHub>("/YourHub");
            });
    }
    else
    {
        app.UseAzureSignalR(routes =>
            {
                routes.MapHub<YourHub>("/YourHub");
            });
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.