news 2026/4/16 19:06:28

Blazor Web App 在 IIS 部署的基路径设置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Blazor Web App 在 IIS 部署的基路径设置

引言

在使用 Blazor Web App 进行开发时,部署到 IIS 服务器是一个常见的选择。然而,许多开发者在部署过程中可能会遇到一些配置问题,特别是在处理基路径(Base Path)设置时。本文将详细介绍如何正确设置 Blazor Web App 的基路径,以解决在 IIS 下的部署问题。

实例背景

假设你使用 Visual Studio 2022 V17.8.2 创建了一个 Blazor Web App,并使用 Web Deploy 方式发布到 IIS 服务器上。你的应用发布在Default Web Site下的blazortest80目录中。

示例代码

program.cs
usingBlazorWebAppNet8.Components;varbuilder=WebApplication.CreateBuilder(args);// 添加服务到容器builder.Services.AddRazorComponents().AddInteractiveServerComponents();varapp=builder.Build();// 配置 HTTP 请求管道if(!app.Environment.IsDevelopment()){app.UseExceptionHandler("/Error",createScopeForErrors:true);// 默认 HSTS 值为 30 天。生产环境可能需要调整app.UseHsts();}app.UseHttpsRedirection();app.UseStaticFiles();app.UseAntiforgery();// 设置基路径app.UsePathBase("/blazortest80");app.MapRazorComponents<App>().AddInteractiveServerRenderMode();app.Run();
App.razor
<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"/><metaname="viewport"content="width=device-width, initial-scale=1.0"/><!-- 设置基路径 --><basehref="/blazortest80/"/><linkrel="stylesheet"href="bootstrap/bootstrap.min.css"/><linkrel="stylesheet"href="app.css"/><linkrel="stylesheet"href="BlazorWebAppNet8.styles.css"/><linkrel="icon"type="image/png"href="favicon.png"/><HeadOutlet/></head><body><Routes/><scriptsrc="_framework/blazor.web.js"></script></body></html>

问题描述

当你试图通过https://testserver.de/blazortest80访问应用时,可能会遇到页面无法加载的问题。这是因为 Blazor 应用需要正确的基路径来处理相对路径的导航。

解决方案

  1. program.cs中设置UsePathBase:

    • 添加app.UsePathBase("/blazortest80");以告知应用其基路径。
  2. App.razor中设置base标签:

    • 修改<base href="/" /><base href="/blazortest80/" />

这两个步骤确保了应用能够正确处理路径,避免了在 IIS 下的导航问题。

注意事项

  • 如果你只设置了app.UsePathBase("/blazortest80");,访问应用时需要在 URL 末尾添加一个斜杠(/),如https://testserver.de/blazortest80/
  • 如果你同时设置了base标签和UsePathBase,则可以省略 URL 末尾的斜杠。

总结

通过正确设置基路径,Blazor Web App 在 IIS 下的部署可以顺利进行。开发者需要在program.cs中使用UsePathBase,并在App.razor中设置base标签,以确保应用能够正确处理导航和资源请求。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 13:33:41

Python函数调用与输出

在学习Python编程的过程中,初学者常常会遇到一些基本的语法和函数调用的问题。今天我们将通过一个简单的例子来详细解释如何在Python中定义函数并确保其输出正确。 问题描述 假设你是一名Python初学者,正在编写一个函数来判断一个数字是偶数还是奇数。你已经编写了如下的代…

作者头像 李华
网站建设 2026/4/16 13:35:07

上位机开发入门必看:零基础快速理解核心概念

上位机开发从零开始&#xff1a;打通硬件与用户的最后一公里你有没有过这样的经历&#xff1f;手里的单片机跑起来了&#xff0c;传感器数据也采集到了&#xff0c;但你想看看实时波形、改个参数、或者让别人也能操作这套系统——这时候才发现&#xff1a;缺一个“看得见、点得…

作者头像 李华
网站建设 2026/4/16 13:33:25

OrCAD学习第一步:新建工程与项目管理通俗解释

从零开始搞懂OrCAD&#xff1a;新建工程不是点个“确定”那么简单你有没有过这样的经历&#xff1f;打开OrCAD Capture&#xff0c;点击“New Project”&#xff0c;随便输个名字、选个路径&#xff0c;然后就开始画原理图。结果做到一半发现仿真跑不起来&#xff0c;PCB导不出…

作者头像 李华
网站建设 2026/4/16 15:07:31

HID协议入门指南:常见术语与框架介绍

HID协议从零到实战&#xff1a;嵌入式开发者的深度指南 你有没有遇到过这样的场景&#xff1f; 插上一个自制的USB键盘&#xff0c;电脑却无法识别按键&#xff1b;或者做了一个BLE游戏手柄&#xff0c;安卓手机连上了却不会震动。问题可能不在硬件电路&#xff0c;而在于——…

作者头像 李华
网站建设 2026/4/16 15:06:32

UDS多帧传输与流控策略在车内通信的应用

UDS多帧传输与流控策略&#xff1a;如何让车载通信“既快又稳”&#xff1f;你有没有想过&#xff0c;一辆智能汽车在做OTA升级时&#xff0c;成千上万字节的固件数据是怎么通过一根带宽只有500kbps的CAN总线安全送达ECU的&#xff1f;更神奇的是&#xff0c;为什么低端MCU不会…

作者头像 李华
网站建设 2026/4/16 13:34:23

VHDL语言时序约束在Xilinx Vivado中的应用详解

如何用VHDL“说清楚”时序&#xff1f;——在Xilinx Vivado中打通设计与约束的任督二脉你有没有遇到过这种情况&#xff1a;VHDL代码逻辑清晰、仿真通过&#xff0c;烧进FPGA后却莫名其妙地出错&#xff1f;数据跳变、采样错位、状态机乱序……而打开时序报告一看&#xff0c;W…

作者头像 李华