news 2026/10/8 7:45:39

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/10/8 2:44:25

USB3.1传输速度为何达不到理论值?图解说明

USB3.1传输速度为何达不到理论值&#xff1f;工程师亲测揭秘你有没有遇到过这种情况&#xff1a;买了一根标着“USB3.1 Gen 2”的高速线&#xff0c;配上NVMe固态硬盘盒&#xff0c;信心满满地开始拷贝4K视频文件——结果任务管理器里的传输速度只显示400 MB/s&#xff0c;连宣…

作者头像 李华
网站建设 2026/10/8 2:44:31

如何通过ITIL运维管理软件打造高效运维体系?

在企业数字化转型加速的背景下&#xff0c;信息技术服务管理&#xff08;ITSM&#xff09;成为企业运营的核心环节。随着业务系统复杂度增加&#xff0c;传统的人工运维模式难以满足快速响应、流程规范和高效管理的需求。ITIL运维管理软件应运而生&#xff0c;通过标准化流程、…

作者头像 李华
网站建设 2026/10/8 2:44:37

USB转串口驱动安装步骤通俗解释

电脑没串口&#xff1f;一文搞懂USB转串口驱动安装与芯片选型 你有没有遇到过这种情况&#xff1a;手握一块开发板&#xff0c;连上USB线准备调试&#xff0c;打开设备管理器却发现“未知设备”或者根本找不到COM口&#xff1f;明明线插好了&#xff0c;灯也亮了&#xff0c;就…

作者头像 李华
网站建设 2026/10/8 2:44:43

大规模设备接入下的USB2.0主机优化策略

如何让USB2.0在连接32个设备时依然稳如磐石&#xff1f;你有没有遇到过这样的场景&#xff1a;一个工业网关上插满了条码枪、传感器、摄像头&#xff0c;系统却频繁卡顿、设备掉线&#xff1f;明明用的是标准USB接口&#xff0c;怎么一到多设备就“罢工”&#xff1f;问题很可能…

作者头像 李华
网站建设 2026/10/7 7:42:48

OpenMV识别物体实现人脸识别安防:从零实现教程

用 OpenMV 打造人脸识别安防系统&#xff1a;手把手教你从零实现你有没有想过&#xff0c;花不到一张百元大钞&#xff0c;就能做出一个能“认人开门”的智能门禁&#xff1f;这不是科幻电影&#xff0c;而是今天用OpenMV就能轻松实现的现实。在物联网和边缘计算快速发展的当下…

作者头像 李华
网站建设 2026/10/5 22:21:25

[特殊字符]_Web框架性能终极对决:谁才是真正的速度王者[20260112164948]

作为一名拥有10年开发经验的全栈工程师&#xff0c;我经历过无数Web框架的兴衰更替。从早期的jQuery时代到现在的Rust高性能框架&#xff0c;我见证了Web开发技术的飞速发展。今天我要分享一个让我震惊的性能对比测试&#xff0c;这个测试结果彻底改变了我对Web框架性能的认知。…

作者头像 李华