将 ASP.NET Core SignalR 应用发布到 Azure App ServicePublish an ASP.NET Core SignalR app to Azure App Service

本文内容

作者: Brady Gaster

Azure App Service是一种Microsoft 云计算平台服务,用于承载 web 应用,包括 ASP.NET Core。

备注

本文是指从 Visual Studio 发布 ASP.NET Core SignalR 应用程序。有关详细信息,请参阅SignalR service For Azure

发布应用Publish the app

本文介绍如何使用 Visual Studio 中的工具进行发布。Visual Studio Code 用户可以使用Azure CLI命令将应用发布到 Azure。有关详细信息,请参阅使用命令行工具将 ASP.NET Core 应用程序发布到 Azure

  • 在“解决方案资源管理器”中右键单击该项目,然后选择“发布”。

  • 确认已在 "选取发布目标" 对话框中选择 "应用服务" 和 "新建"。

  • 从 "发布" 按钮下拉菜单中选择 "创建配置文件"。

在 "创建应用服务" 对话框中,输入下表中所述的信息,然后选择 "创建"。

Item说明名称应用的唯一名称。订阅应用使用的 Azure 订阅。资源组应用所属的一组相关资源。托管计划Web 应用的定价计划。

  • 在 "依赖关系" > 添加"下拉列表中选择" Azure SignalR 服务

依赖关系 "区域显示在" 添加 "下拉列表中选择的 Azure SignalR 服务

  • 在 " Azure SignalR 服务" 对话框中,选择 "创建新的 Azure SignalR 服务实例"。

  • 提供名称资源组位置。返回到 " Azure SignalR 服务" 对话框,然后选择 "添加"。

Visual Studio 完成以下任务:

  • 创建包含发布设置的发布配置文件。
  • 使用提供的详细信息创建Azure Web 应用
  • 发布应用程序。
  • 启动加载 web 应用程序的浏览器。

应用的 URL 的格式是 {APP SERVICE NAME}.azurewebsites.net例如,名为 SignalRChatApp 的应用具有 https://signalrchatapp.azurewebsites.net的 URL。

如果在部署面向预览版 .NET Core 版本的应用时发生 HTTP 502.2 错误的网关错误,请参阅部署 ASP.NET Core 预览版本 Azure App Service以解决此问题。

在 Azure App Service 中配置应用Configure the app in Azure App Service

备注

本部分仅适用于不使用 Azure SignalR 服务的应用。

如果应用使用 Azure SignalR 服务,则应用服务不需要配置应用程序请求路由(ARR)关联和本部分中所述的 Web 套接字。客户端将其 Web 套接字连接到 Azure SignalR 服务,而不是直接连接到应用。

对于未使用 Azure SignalR 服务托管的应用,请启用:

  • ARR 关联-for-Azure-web-apps.html):用于将来自用户的请求路由回同一应用服务实例。默认设置为 "打开"。
  • 允许 Web 套接字传输正常工作的Web 套接字。默认设置为 "关闭"。

  • 在 Azure 门户中,导航到应用服务中的 web 应用。

  • 打开配置 > 常规设置
  • 将 " Web 套接字" 设置为 "开"
  • 验证ARR 相关性是否设置为On

应用服务计划限制App Service Plan limits

基于所选的应用服务计划,Web 套接字和其他传输受到限制。有关详细信息,请参阅 azure订阅和服务限制、配额和约束一文中的azure 云服务限制应用服务限制部分。

其他资源Additional resources