【问题标题】:Blazor WASM - Standalone Deployment on IISBlazor WASM - IIS 上的独立部署
【发布时间】:2021-02-09 04:13:20
【问题描述】:

我正在尝试按照here 的说明在 IIS 上部署 Blazor WASM 应用。

  • 这只是开箱即用的示例 Blazor WASM 应用
  • 我已将应用发布到文件夹中
  • 我已将 URL 重写模块添加到 IIS
  • 我已向 IIS 添加了动态压缩支持
  • 我在默认网站中创建了一个新的 Web 应用,并将其指向我发布 Blazor 应用的文件夹

调用应用程序会生成一个页面,其中包含“发生未处理的错误。重新加载”。

查看浏览器开发工具中的请求,index.html 是从 wwwroot 文件夹中提取的,这表明 url 重写规则正在触发,但是对 css/bootstrap.min.css、_framework/blazor.webassembly 的请求.js 和 css/app.css 都失败,状态为 404 - Not Found。

我错过了什么?

Windows 10 2004。

【问题讨论】:

    标签: iis blazor blazor-webassembly


    【解决方案1】:

    尝试在 index.html 文件中设置基本路径:

    <base href="/CoolApp/">
    

    下面是iis应用文件夹路径:

    您可以将其设置为您的发布文件夹。

    web.conifg 文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <system.webServer>
        <staticContent>
          <remove fileExtension=".dat" />
          <remove fileExtension=".dll" />
          <remove fileExtension=".json" />
          <remove fileExtension=".wasm" />
          <remove fileExtension=".woff" />
          <remove fileExtension=".woff2" />
          <mimeMap fileExtension=".dll" mimeType="application/octet-stream" />
          <mimeMap fileExtension=".dat" mimeType="application/octet-stream" />
          <mimeMap fileExtension=".json" mimeType="application/json" />
          <mimeMap fileExtension=".wasm" mimeType="application/wasm" />
          <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
          <mimeMap fileExtension=".woff2" mimeType="application/font-woff" />
        </staticContent>
        <httpCompression>
          <dynamicTypes>
            <add mimeType="application/octet-stream" enabled="true" />
            <add mimeType="application/wasm" enabled="true" />
          </dynamicTypes>
        </httpCompression>
        <rewrite>
          <rules>
            <rule name="Serve subdir">
              <match url=".*" />
              <action type="Rewrite" url="wwwroot\{R:0}" />
            </rule>
            <rule name="SPA fallback routing" stopProcessing="true">
              <match url=".*" />
              <conditions logicalGrouping="MatchAll">
                <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
              </conditions>
              <action type="Rewrite" url="wwwroot\" />
            </rule>
          </rules>
        </rewrite>
      </system.webServer>
    </configuration>
    

    索引文件:

    输出:

    注意:确保将 iis_iusrs 和 iusr 权限分配给站点文件夹。

    https://docs.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/?view=aspnetcore-3.1&tabs=visual-studio

    【讨论】:

    • 将应用程序路径添加到 标记可以解决问题 - 谢谢!
    猜你喜欢
    • 2021-03-22
    • 2020-11-14
    • 2023-01-16
    • 2021-09-10
    • 2021-07-15
    • 2021-10-22
    • 2021-07-26
    • 2022-11-28
    • 1970-01-01
    相关资源
    最近更新 更多