Blazor SSR在.NET 8中默认启用自动混合渲染,通过@rendermode指令(如InteractiveAuto)控制组件渲染模式,并需注意预渲染阶段限制及服务端配置。

Blazor SSR(Server-Side Rendering)在 .NET 8 中已正式成为默认的 Blazor 渲染模式之一,它结合了服务端快速首屏渲染与客户端交互能力,无需手动配置 SignalR 连接即可开箱即用。核心要点是:项目模板默认启用 SSR,但需明确理解其运行机制和关键配置项。
使用 .NET 8 SDK 创建新项目时,选择 Blazor Web App 模板(不是旧的 “Blazor Server” 或 “Blazor WebAssembly”):
dotnet new blazor --framework net8.0
App.razor、Routes.razor 和 Pages/ 目录,且 Program.cs 中已注入 AddInteractiveServerComponents() 或 AddInteractiveWebAssemblyComponents()
每个 Razor 组件可独立指定渲染方式,通过 @rendermode 指令控制:
@rendermode InteractiveServer:服务端托管交互,DOM 更新通过 SignalR 实时同步(传统 Blazor Server)@rendermode InteractiveWebAssembly:组件下载到浏览器后本地执行(需引用 WebAssembly 运行时)@rendermode InteractiveAuto:默认推荐 —— 首屏服务端渲染,加载完成后自动切换为 WebAssembly(若可用)或回退到 Server@rendermode Static:纯静态 HTML,无交互能力,适合 SEO 敏感页面(如首页介绍)例如,在 Pages/Index.razor 顶部添加:@rendermode InteractiveAuto 即启用混合渲染。
SSR 默认开启预渲染,但需确保服务端能同步生成初始 HTML:
Program.cs 中是否调用 builder.Services.AddRazorComponents().AddInteractiveServerComponents();
app.MapRazorComponents<app>().AddInteractiveServerRenderMode();</app> 已注册NavigationManager、JSRuntime 等客户端专属服务,需用 @if (isPrerendering == false) 条件包裹相关逻辑Blazor SSR 应用本质是服务器托管的 Web 应用,部署方式与普通 ASP.NET Core 一致:
dotnet publish -c Release -o ./publish
InteractiveAuto,需确保客户端能访问 _framework/blazor.webassembly.js(WebAssembly 模式所需),否则自动降级为 Server 模式基本上就这些。不复杂但容易忽略的是渲染模式的显式声明和预渲染边界处理 —— 控制好这两点,SSR 就能既快又稳。
以上就是.NET 8 Blazor SSR 模式使用教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号