将 ASP.NET Core SignalR 应用发布到 Azure 应用服务

作者:Brady Gaster

Azure 应用服务是一个用于托管 Web 应用(包括 ASP.NET Core)的 Microsoft 云计算平台服务。

注意

本文介绍如何从 Visual Studio 发布 ASP.NET Core SignalR 应用。 有关详细信息,请参阅 SignalR Azure 的服务

发布应用

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

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

  2. 确认在“选取发布目标”对话框中选中了“应用服务”和“新建”。

  3. 从“发布”按钮下拉菜单中选择“创建配置文件”。

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

    说明
    名称 应用的唯一名称。
    订阅 应用使用的 Azure 订阅。
    资源组 应用所属的相关资源组。
    托管计划 Web 应用的定价计划。
  4. “服务依赖项”部分选择 Azure SignalR 服务。 选择 + 按钮:

    显示“添加”下拉列表中选择 Azure SignalR 服务的依赖项区域

  5. “Azure SignalR 服务 ”对话框中,选择“ 创建新的 Azure SignalR 服务实例”。

  6. 提供“名称”、“资源组”和“位置”。 返回到 “Azure SignalR 服务 ”对话框,然后选择“ 添加”。

Visual Studio 完成以下任务:

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

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

如果在部署面向 .NET Core 预览版的应用时出现“HTTP 502.2 - 错误的网关”错误,请参阅将 ASP.NET Core 预览版部署到 Azure 应用服务以解决该错误。

在 Azure 应用服务中配置应用

注意

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

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

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

  • ARR 相关性,用于将请求从用户路由回同一个App 服务实例。 默认设置为“开”。
  • Web 套接字,以便让 Web 套接字传输正常工作。 默认设置为“关”。
  1. 在 Azure 门户中,导航到“应用服务”中的 Web 应用。
  2. 打开“配置”>“常规设置”。
  3. 将“Web 套接字”设置为“开”。
  4. 验证“ARR 相关性”是否设置为“开”。

应用服务计划限制

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

其他资源