作者:Brady Gaster
Azure 应用服务是一个用于托管 Web 应用(包括 ASP.NET Core)的 Microsoft 云计算平台服务。
Note
本文是关于从 Visual Studio 发布 ASP.NET Core SignalR 应用的。 有关详细信息,请参阅 SignalR适用于 Azure 的服务。
发布应用
本文介绍如何使用 Visual Studio 中的工具进行发布。 Visual Studio Code 的用户可以使用 Azure CLI 命令将应用发布到 Azure。 有关详细信息,请参阅使用命令行工具将 ASP.NET Core 应用发布到 Azure。
在 解决方案资源管理器 中右键单击该项目,然后选择 发布。
确认在“选取发布目标”对话框中选中了“App Service”和“新建”。
从 发布 按钮的下拉菜单中选择 创建配置。
在“创建应用服务”对话框中输入下表所述的信息,然后选择“创建”。
Item Description Name 应用的唯一名称。 Subscription 应用使用的 Azure 订阅。 资源组 应用所属的相关资源组。 托管计划 Web 应用的定价计划。 在“服务依赖项”部分中选择“Azure SignalR Service”。 选择 + 按钮:
在“Azure SignalR 服务”对话框中,选择“创建新的 Azure 服务实例”。
提供名称、资源组和位置。 返回到“Azure SignalR 服务”对话框并选择“添加”。
Visual Studio 完成以下任务:
- 创建其中包含发布设置的发布配置文件。
- 使用提供的详细信息创建Azure Web 应用。
- 发布此应用。
- 启动浏览器,该浏览器会加载 Web 应用。
应用 URL 的格式为 {APP SERVICE NAME}.azurewebsites.net。 例如,名为 SignalRChatApp 的应用的 URL 为 https://signalrchatapp.azurewebsites.net。
如果部署面向预览版 .NET 版本的应用时出现 HTTP 502.2 - 网关 错误,请参阅 将 ASP.NET Core 预览版部署到 Azure 应用服务 以解决此问题。
在 Azure 应用服务中配置应用
Note
本部分仅适用于未使用 Azure SignalR 服务的应用。
如果应用使用 Azure SignalR 服务,则应用服务不需要配置如本部分所述的 WebSocket 和会话相关性,也称为应用程序请求路由 (ARR) 相关性。 客户端将其 WebSocket 连接到 Azure SignalR 服务,而不是直接连接到应用。
对于未使用 Azure SignalR 服务托管的应用,请启用:
- WebSocket 以允许 WebSocket 传输正常工作。 默认设置为“关”。
- 会话相关性(ARR 相关性),用于将用户的请求路由回同一个应用服务实例。 默认设置为“开”。
- 在 Azure 门户中,导航到应用服务中的 Web 应用。
- 打开“设置”>“配置”。
- 将 WebSocket 设置为 开启。
- 验证“会话相关性”是否设置为“开启”。
应用服务计划限制
WebSocket 和其他传输方式会因所选应用服务计划而受到限制。 有关详细信息,请参阅 Azure 订阅和服务限制、配额和约束 一文的“Azure 云服务限制”和“应用服务限制”部分。