Blazor WASM - IIS 上的独立部署
2020-10-26
3697
我正尝试在 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 - 未找到。
我遗漏了什么?
Windows 10 2004。
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 权限。
Jalpa Panchal
2020-10-27