繁体   English   中英

Azure 中托管的 Blazor 应用未连接到 Azure SignalR 实例

[英]Blazor app hosted in Azure does not connect to Azure SignalR instance

我们有一个 Blazor 应用程序作为 Azure Web 应用程序托管,它似乎没有连接到 Azure SignalR 实例,而是创建了一个到 Web 应用程序本身的 WebSocket 连接。 但是在本地运行应用程序时,它会正确连接到 SignalR 实例。

在 Azure Web 应用程序上:

天蓝色

本地运行:

本地主机

为了在本地运行,我们将连接字符串存储为 User Secret:

"Azure:SignalR:ConnectionString": "Endpoint=https://<HOST>.service.signalr.net;AccessKey=<KEY>;Version=1.0;"

对于 Azure,我们有一个配置设置:

AzureConfig

在代码中,我们有:

builder.Services.AddServerSideBlazor();
....
app.MapBlazorHub();

是什么阻止了 Azure 应用使用 SignalR 服务?

更新

有趣的是,当我们从 Visual Studio 中手动发布,将 SignalR 添加为服务依赖项时,它可以正常工作。 但是,当通过我们的 CI 服务器 (Azure DevOps) 进行部署时,它会恢复为不使用 SignalR 服务。

我们查看了 Azure 中的应用程序配置,看不出有任何差异 - 但看起来从 VS 手动部署时设置了一些东西,而从 DevOps 部署时没有设置。 部署任务如下所示:

  - task: AzureRmWebAppDeployment@4
    displayName: 'Deploy to Azure App Service'
    condition: eq('${{ parameters.slot }}', '')
    inputs:
      ConnectionType: 'AzureRM'
      azureSubscription: '<SubName>'
      appType: 'webApp'
      WebAppName: '<AppName>'
      ResourceGroupName: '<RG>'
      packageForLinux: '$(System.ArtifactsDirectory)/drop/<App>.zip'   

您是否在 Azure Web App 上激活了 WebSocket?

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM