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

Blazor SSR(Server-Side Rendering)在 .NET 8 中已正式成为默认的 Blazor 渲染模式之一,它结合了服务端快速首屏渲染与客户端交互能力,无需手动配置 SignalR 连接即可开箱即用。核心要点是:项目模板默认启用 SSR,但需明确理解其运行机制和关键配置项。
创建支持 SSR 的 Blazor 项目
使用 .NET 8 SDK 创建新项目时,选择 Blazor Web App 模板(不是旧的 “Blazor Server” 或 “Blazor WebAssembly”):
- 命令行执行:
dotnet new blazor --framework net8.0 - 该模板默认启用“自动混合渲染”(Auto render mode),即服务端首屏 + 客户端水合(Hydration)+ 可选的 WebAssembly 回退
- 项目结构中会包含
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 即启用混合渲染。
标签: linux html js 前端 docker nginx seo 浏览器 app iis 组件渲染 .net
还木有评论哦,快来抢沙发吧~