钱行慕

导航

ASP.NET Core SignalR (十二):将SignalR 程序发布到Azure app 服务上

此为系列文章,对MSDN ASP.NET Core SignalR 的官方文档进行系统学习与翻译。其中或许会添加本人对 ASP.NET Core 的浅显理解。

       Azure App Service 是微软提供的云计算平台服务,其可以用来托管 Web 应用程序,包括ASP.NET Core。

       这篇文章介绍了从Visual Studio 中发布一个ASP.NET Core SignalR 应用程序。更多信息,请参考SignalR service for Azure

发布一个app

      这篇文章覆盖了使用Visual Studio中的工具来部署。Visual Studio Code 用户可以使用  Azure CLI 命令来将app发布到Azure中。更多信息,请参考 Publish an ASP.NET Core app to Azure with command line tools

  1.  在解决方案中右键 工程,并选择 发布。
  2. 在 选择一个发布目标 对话框中,确保 App Service 以及 Create New 被选中。
  3. 从 Publish 按钮下拉列表框中选择 Create Profile。
    1. 在 Create App Service 对话框中输入下表中描述的信息,并选择 Create。
      1. 条目描述
        Name app 的唯一名称
        Subscription 使用的 Azure 订阅
        Resource Group app 属于的相关资源的分组
        Hosting Plan web app的价格计划.
  4. 在 Dependencies>>Add 下拉列表框中选择 Azure SignalR Service。
  5. 在 Azure SignalR Service 对话框中,选择 Create a new Azure SignalR Service instance。
  6. 提供一个 Name,Resource Group,以及Location。返回 Azure SignalR Service 对话框,点击 Add。

        Visual Studio 完成了以下任务:

  • 创建了一个包含设置的部署配置文件。
  • 用已提供的细节创建了一个SignalR Web app。
  • 发布app。
  • 启动一个浏览器,它将加载 web app。

       app Url的格式是这个样子的:{APP SERVICE NAME}.azurewebsites.net。举个例子,一个名为SignalRChatApp 的app 具有这样的一个Url:https://signalrchatapp.azurewebsites.net。

      当部署一个目标为前一个.NET Core 发布版本的app时,如果发生了一个 HTTP 502.2 - Bad Gateway 错误,请参考  Deploy ASP.NET Core preview release to Azure App Service 来解决这个问题。

在 Azure SignalR 服务中配置app

     注意:此部分仅仅应用于没有使用 Azure SignalR 服务的app。

     如果app 使用了 Azure SignalR 服务,app 服务便不需要 Application Request Routing (ARR) Affinity 的配置以及在此章节描述的 Web Sockets。客户端将它们的Web Sockets 连接到 Azure SignalR Service,而不会直接连到 app中。

     对于不使用 Azure SignalR Service 托管的app,需要启用:

  • ARR Affinity。将用户的请求路由回相同的app 服务实例。默认的设置是 On。
  • Web Sockets。允许WebSockets传输到函数。默认的设置是Off。
  1. 在Azure门户,在 App Service 中导航到web app。
  2. 打开 Configuration > General settings。
  3. 将WebSocket 设置为On。
  4. 确保ARR affinity 也设置为 On。

App 服务计划限制

        Web Socket 以及其他传输基于已选择 的 app 服务计划而会有一些限制。更多信息,请参考Azure subscription and service limits, quotas, and constraints 这两个章节:Azure Cloud Services limits,App Service limits sections。

额外资源

 

posted on 2020-03-27 11:25  钱行慕  阅读(356)  评论(0编辑  收藏  举报