Blazor WASM - IIS 上的独立部署

     2023-03-27     37

关键词:

【中文标题】Blazor WASM - IIS 上的独立部署【英文标题】:Blazor WASM - Standalone Deployment on 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。

【问题讨论】:

【参考方案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

【讨论】:

将应用程序路径添加到 标记可以解决问题 - 谢谢!

Blazor WASM 部署到 IIS 对象引用未设置为对象的实例

】BlazorWASM部署到IIS对象引用未设置为对象的实例【英文标题】:BlazorWASMDeploytoIISObjectreferencenotsettoaninstanceofanobject【发布时间】:2021-10-2723:47:01【问题描述】:我开发了一个BalzorWASM,它可以在具有波纹管结构的本地机器上运行:... 查看详情

使用 IIS URL 重写动态设置 Blazor WASM 基本 href

】使用IISURL重写动态设置BlazorWASM基本href【英文标题】:SetBlazorWASMbasehrefdynamicallywithIISURLRewrite【发布时间】:2021-12-1705:21:10【问题描述】:我有一个使用标准模板创建的BlazorWASM应用程序。在开发过程中,我一直在根目录下测试... 查看详情

Cors Policy 问题 Blazor WASM、Web API 和 Identity Server 4 和 IIS

】CorsPolicy问题BlazorWASM、WebAPI和IdentityServer4和IIS【英文标题】:CorsPolicyproblemBlazorWASM,WebAPIandIdentityServer4andIIS【发布时间】:2021-02-0510:25:41【问题描述】:尝试从我的WASMblazor应用程序向Webapi发出POST请求时出现Cors策略错误。CORS策... 查看详情

尽管 Fiddler 显示收到了正确的响应,但 Blazor WASM 上的 HttpClient.SendAsync 返回空 HttpResponseMessage

】尽管Fiddler显示收到了正确的响应,但BlazorWASM上的HttpClient.SendAsync返回空HttpResponseMessage【英文标题】:HttpClient.SendAsynconBlazorWASMreturnsemptyHttpResponseMessagealthoughFiddlershowsthatcorrectresponsewasreceived【发布时间】:2021-10-2500:03:5 查看详情

使用客户端、服务器部署解决方案并共享到 azure(Blazor wasm,.net core api)[重复]

】使用客户端、服务器部署解决方案并共享到azure(Blazorwasm,.netcoreapi)[重复]【英文标题】:Deploysolutionwithclient,serverandsharedtoazure(Blazorwasm,.netcoreapi)[duplicate]【发布时间】:2021-07-1318:59:42【问题描述】:这是我的解决方案:这是... 查看详情

使用身份验证托管的 Blazor Wasm 上出现 Azure 500 错误

】使用身份验证托管的BlazorWasm上出现Azure500错误【英文标题】:Azure500erroronaBlazorWasmHostedwithAuthentication【发布时间】:2021-04-1111:49:17【问题描述】:我在这里完全不知所措。我有一个运行.net5的BlazorWASM托管,它已部署到Azure应用... 查看详情

.NET 4.7 MVC 中的 Blazor WASM

】.NET4.7MVC中的BlazorWASM【英文标题】:BlazorWASMin.NET4.7MVC【发布时间】:2021-11-0906:17:25【问题描述】:是否可以将BlazorWASM组件放入.NET4.7上的旧MVC应用程序中?可以将BlazorWASM组件导出为类似于Angular中的自定义元素吗?目前,如果... 查看详情

如何更改 blazor wasm 应用程序的基本 URL

】如何更改blazorwasm应用程序的基本URL【英文标题】:HowtochangethebaseURLofablazorwasmapp【发布时间】:2021-06-2523:06:33【问题描述】:为blazorwasm托管应用程序生成的模板具有从“/”开始的基本URL(即,用于本地开发的https://localhost:5001/... 查看详情

Blazor 在 IIS 中部署项目

】Blazor在IIS中部署项目【英文标题】:BlazordeployingprojectinIIS【发布时间】:2021-04-0518:53:52【问题描述】:你好我有一个错误说“他不应该为已部署的应用程序启用开发环境。它可能导致向最终用户显示来自异常的敏感信息。对于... 查看详情

具有 ReportViewer 导出功能的 Blazor (Wasm)

】具有ReportViewer导出功能的Blazor(Wasm)【英文标题】:Blazor(Wasm)withReportViewerexport【发布时间】:2021-12-0100:59:11【问题描述】:我正在按照此视频中的说明进行操作:https://www.youtube.com/watch?v=7V0Yb5drLgQ当链接直接放入我剃须刀的组件h... 查看详情

Blazor WASM - 流畅的验证

】BlazorWASM-流畅的验证【英文标题】:BlazorWASM-FluentValidation【发布时间】:2021-09-1719:49:24【问题描述】:我在自定义验证器中创建了以下规则:publicclassAddInvoiceParameterCommandValidator:AbstractValidator<AddInvoiceParameterCommand>publicAddInvoi... 查看详情

Blazor 客户端 (WASM) 应用程序洞察

】Blazor客户端(WASM)应用程序洞察【英文标题】:BlazorClientSide(WASM)ApplicationInsights【发布时间】:2020-05-1708:48:45【问题描述】:ApplicationInsightsSDK是否适用于BlazorWASM?我正在尝试连接我的应用程序,但它没有发送任何指标。即使在... 查看详情

IIS 上的 Blazor 主机显示空白页

】IIS上的Blazor主机显示空白页【英文标题】:BlazorhostonIISshowsblankpage【发布时间】:2021-05-2820:30:03【问题描述】:我创建了一个在VisualStudio中运行良好的Blazor服务器项目,我尝试在IIS安装的运行时和托管包上托管相同的应用程序... 查看详情

部署到 IIS 后,Blazor 没有从 wwwroot 提供静态文件

】部署到IIS后,Blazor没有从wwwroot提供静态文件【英文标题】:BlazorwasmnotservingstaticfilesfromwwwrootafterdeployingtoIIS【发布时间】:2021-07-2619:45:34【问题描述】:我正在开发一个.net5.0blazorwasm应用程序。当我使用IISExpress运行应用程序表... 查看详情

Blazor WASM 视图模型

】BlazorWASM视图模型【英文标题】:BlazorWASMViewModel【发布时间】:2021-07-3009:50:10【问题描述】:过去一年我做了很多Razor页面,几周前我开始将所有页面转换为我的Blazor服务器应用程序的ViewModel。现在我认为是时候制作一个新的Bl... 查看详情

Blazor WASM 没有达到断点

】BlazorWASM没有达到断点【英文标题】:BlazorWASMdoesn\'thitbreakpoint【发布时间】:2020-08-1115:00:27【问题描述】:我有一个带有版本5程序集的BlazorWASM项目,并尝试根据这篇文章激活调试:https://docs.microsoft.com/en-us/aspnet/core/blazor/debug?v... 查看详情

Blazor Wasm 身份登录/注销事件

】BlazorWasm身份登录/注销事件【英文标题】:BlazorWasmIdentityLogin/Logoutevent【发布时间】:2021-06-0815:06:54【问题描述】:在使用来自Wasm模板的标准身份的.Net5BlazorWASM应用程序中,我想在用户登录(或注销)时执行一些操作。我已经... 查看详情

如何将 Blazor WebAssembly .Net 5 独立部署到 GitHub 页面?

】如何将BlazorWebAssembly.Net5独立部署到GitHub页面?【英文标题】:HowdoIdeployBlazorWebAssembly.Net5standalonetoGitHubpage?【发布时间】:2021-02-2621:24:18【问题描述】:我已经看到并尝试遵循几个示例来说明如何执行此操作,但它们似乎都适... 查看详情