news 2026/4/15 18:23:05

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/9 21:03:35

USB3.0接口引脚定义详解:从基础到应用完整指南

USB3.0引脚设计全解析&#xff1a;从物理连接到高速通信的底层逻辑你有没有遇到过这样的情况&#xff1f;插上一个USB3.0移动硬盘&#xff0c;理论速度应该轻松突破400MB/s&#xff0c;结果拷贝大文件时却只有几十兆——慢得像在用十年前的老设备。问题很可能不在硬盘本身&…

作者头像 李华
网站建设 2026/3/29 1:56:58

【机器学习】- CatBoost模型参数详细说明

CatBoost模型参数详细说明 1. 模型参数概览 params {iterations: 100000, # 迭代次数learning_rate: 0.015, # 学习率depth: 8, # 树的深度l2_leaf_reg: 3, # L2正则化系数bootstrap_type: Bernoulli,# 抽样类型subsample: 0.8, …

作者头像 李华
网站建设 2026/4/8 21:02:01

从零实现LED驱动电路:硬件设计原理解析

从零实现LED驱动电路&#xff1a;一个工程师的实战笔记 最近在做一款智能台灯项目&#xff0c;客户对亮度均匀性、调光平滑性和能效都提出了苛刻要求。最开始我图省事&#xff0c;直接用限流电阻带LED阵列——结果样机一上电&#xff0c;三颗白光LED两亮一暗&#xff0c;温升还…

作者头像 李华
网站建设 2026/3/26 6:05:22

超详细版UDS诊断请求与响应时序分析

UDS诊断通信的“时间密码”&#xff1a;从请求到响应的全链路时序实战解析你有没有遇到过这样的情况&#xff1f;明明服务功能都实现了&#xff0c;ECU也支持0x27安全访问&#xff0c;但每次Tester发完Seed后&#xff0c;Key就是对不上——不是返回NRC 0x7F&#xff0c;就是直接…

作者头像 李华
网站建设 2026/4/10 20:02:52

基于Java+SpringBoot+SSM在线食品安全信息平台(源码+LW+调试文档+讲解等)/在线食品监管信息平台/食品安全在线查询平台/网络食品安全信息平台/在线食品信息公示平台

博主介绍 &#x1f497;博主介绍&#xff1a;✌全栈领域优质创作者&#xff0c;专注于Java、小程序、Python技术领域和计算机毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2025-2026年最新1000个热门Java毕业设计选题…

作者头像 李华
网站建设 2026/4/15 10:25:42

理想二极管在电源管理中的应用原理深度剖析

理想二极管&#xff1a;如何用MOSFET“伪装”成零压降二极管&#xff0c;彻底告别发热与效率瓶颈&#xff1f;你有没有遇到过这样的场景&#xff1a;一个看似简单的电源切换电路&#xff0c;却因为用了几个肖特基二极管&#xff0c;导致板子烫得不敢摸&#xff1f;或者在做电池…

作者头像 李华