Blazor在.NET 8中正式支持流式渲染,通过边生成、边传输、边显示降低首屏时间;需满足.NET 8+、Blazor Server或预渲染+流式水合的WebAssembly配置、正确设置@rendermode且未禁用流式。

Blazor 在 .NET 8 中正式引入了流式渲染(Streaming Rendering),它不是“一次性等所有组件渲染完再发 HTML”,而是让服务器端 Blazor Server 或 Blazor WebAssembly(配合 `render-mode="InteractiveWebAssembly"` + `
` 中预加载)能边生成、边传输、边显示首屏内容,显著降低用户感知的首屏时间(TTI)和布局抖动。启用流式渲染的前提条件
必须满足以下三点,否则会回退到传统同步渲染:
- 使用 .NET 8 SDK 及以上,项目目标框架为
net8.0 - 服务端使用 Blazor Server(目前 Blazor WebAssembly 的流式渲染仅支持“预渲染 + 流式水合”,需搭配 `@rendermode` 和 `
`) - 在
_Host.cshtml中正确配置@rendermode,且不手动禁用流式(如没设disable-streaming)
服务端 Blazor Server 的标准用法
在 Pages/_Host.cshtml 中,将 @rendermode 设为 InteractiveServer 即可自动启用流式渲染(.NET 8 默认开启):
@rendermode InteractiveServer
登录后复制
无需额外代码。框架会在响应头中自动设置 text/html; streaming=true,并把页面拆成多个 chunk 分批写入响应流。
你还可以在特定组件上按需关闭流式(比如某个复杂图表初始化慢,想等它准备好再整体显示):
标签: html seo 浏览器 app ai stream 组件渲染 .net
还木有评论哦,快来抢沙发吧~