將 ASP.NET Core SignalR 應用程式發佈至 Azure App Service

作者:Brady Gaster

Azure App ServiceMicrosoft 雲端運算平台服務,用於裝載 Web 應用程式,包括 ASP.NET Core。

注意

本文涉及從 Visual Studio 發佈 ASP.NET Core SignalR 應用程式。 如需詳細資訊,請參閱 Azure 的 SignalR 服務

發行應用程式

本文介紹使用 Visual Studio 中的工具進行發佈。 Visual Studio Code 使用者可以使用 Azure CLI 命令將應用程式發佈至 Azure。 如需詳細資訊,請參閱使用命令列工具將 ASP.NET Core 應用程式發佈至 Azure

  1. 在 [方案總管] 中,以滑鼠右鍵按一下專案,然後選取 [發佈]

  2. 確認已在 [挑選發佈目標] 對話方塊中選取 [App Service] 和 [新建]

  3. 從 [發佈] 按鈕下拉式清單中選取 [建立設定檔]

    在 [建立 App Service ] 對話方塊中,輸入下表中所述的資訊,然後選取 [建立]

    項目 描述
    名稱 應用程式的唯一名稱。
    訂用帳戶 應用程式使用的 Azure 訂閱。
    資源群組 應用程式所屬的相關資源群組。
    主控方案 Web 應用程式的定價方案。
  4. 在 [服務相依性] 區段中選取 [Azure SignalR 服務]。 選取 + 按鈕:

    Dependencies area showing the selection of Azure SignalR Service in the Add drop-down list

  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 App Service>以解決此問題。

在 Azure App Service 中設定應用程式

注意

本節僅適用於不使用 Azure SignalR 服務的應用程式。

如果應用程式使用 Azure SignalR 服務,App Service 就不需要設定本節所述的應用程式要求路由 (ARR) 親和性和 Web 通訊端。 用戶端會將其 Web 通訊端連線到 Azure SignalR 服務,而不是直接連線到應用程式。

針對未使用 Azure SignalR 服務裝載的應用程式,請啟用:

  • ARR 親和性,將要求從使用者路由回相同的 App Service 實例。 預設設定是 On
  • Web 通訊端,允許 Web 通訊端傳輸運作。 預設設定是 Off
  1. 在 Azure 入口網站中,瀏覽至 [應用程式服務] 中的 Web 應用程式。
  2. 開啟 [組態]>[一般設定]
  3. 將 [Web 通訊端] 設定為 On
  4. 確認 [ARR 親和性] 已設定為 On

App Service 方案限制

根據選取的 App Service 方案,Web 通訊端和其他傳輸會受到限制。 如需詳細資訊,請參閱《Azure 訂閱和服務限制、配額和限制》一文的<Azure 雲端服務限制><App Service 限制>章節。

其他資源