簡體   English   中英

在 Azure 應用服務中托管 Blazor wasm 時出現問題

[英]Trouble hosting Blazor wasm in Azure App service

我在 VS2022 中創建了一個 blazor wasm 應用程序,並選擇了核心托管。 這創建了 3 個項目,客戶端、服務器和共享。

服務器應用程序現在包含我的 web api。 我可以在本地運行該站點,並且一切正常。

我創建了以下 Azure DevOps 管道,用於構建和部署到 Azure 應用服務:

trigger:
- master
variables:
  vmImageName: "windows-2022"
stages:
  - stage: Build
    displayName: Build stage
    jobs:
      - job: Build
        displayName: Build
        pool:
          vmImage: $(vmImageName)
        steps:
          - task: DotNetCoreCLI@2
            displayName: "build"
            inputs:
              command: build
              projects: "**/BillByTime.sln"
              configuration: "$(buildConfiguration)"
          - task: DotNetCoreCLI@2
            displayName: "test"
            inputs:
              command: test
              projects: "**/BillByTime.UnitTest.csproj"
              arguments: "--configuration Release"
            continueOnError: true
          - task: DotNetCoreCLI@2
            displayName: "publish server app"
            inputs:
              command: publish
              arguments: "--configuration Release --output $(Pipeline.Workspace)/publish_output"
              publishWebProjects: False
              projects: "**/BillByTime.Server.csproj"
              zipAfterPublish: false
          - task: ArchiveFiles@2
            displayName: "Archive files"
            inputs:
              rootFolderOrFile: "$(Pipeline.Workspace)/publish_output"
              includeRootFolder: false
              archiveFile: "$(Pipeline.Workspace)/build$(Build.BuildId).zip"
          - publish: "$(Pipeline.Workspace)/build$(Build.BuildId).zip"
            displayName: "publish zip"
            artifact: "application"
  - stage: DeployDev
    displayName: Deploy Dev Stage
    jobs:
      - deployment: DeployDev
        displayName: deploy dev
        pool:
          vmImage: "Windows-Latest"
        environment: "dev"
        variables:
          - name: env
            value: "dev"
          - name: svcConnection
            value: "BizTalkersSvcCon"
        strategy:
          runOnce:
            deploy:
              steps:
                - download: current
                  artifact: application
                - download: current
                  artifact: sql-script
                - task: AzureWebApp@1
                  displayName: deploy blazor app
                  inputs:
                    azureSubscription: ${{variables.svcConnection}}
                    appType: "webAppLinux"
                    appName: appsvc-billbytime-webapi-${{variables.env}}-001
                    package: $(Pipeline.Workspace)/application/**/*.zip
                    deployToSlotOrASE: false
                    resourceGroupName: rg-BillByTime-${{variables.env}}-001

管道運行沒有錯誤。 如果我導航到應用服務的 url ( https://appsvc-billbytime-webapi-dev-001.azurewebsites.net ),我會收到 403 Forbidden 錯誤。

通過與應用服務建立 FTP 連接,我可以看到已部署的文件夾結構和文件:

文件夾

在 /site/wwwroot/BillByTime.Server/wwwroot 我看到 blazor 客戶端應用程序也已部署。

客戶端應用

因此,似乎所有文件都已部署好,但我似乎缺少某種將瀏覽器路由到 /site/wwwroot/BillByTime.Server/wwwroot/index.html 的配置?

請復制BillByTime.Server下的所有內容並粘貼到/site/wwwroot

出現這個問題的原因是wwwroot文件夾釋放后,多了一層BillByTime.Server。 通常,在 wwwroot 下,需要一個 web.config 文件。

或者您也可以更改 wwwroot ,如下所示:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM