用途:为 Blazor 应用提供性能优化实践,涵盖渲染、缓存、WASM 体积与资源占用等方面。
主要能力: 渲染优化:列表渲染使用 @key;重写 ShouldRender 控制重渲染;用 Virtualize 虚拟化大列表,并可通过 ItemsProvider 实现服务端分页;对慢数据使用 [StreamRendering] 流式 SSR。 缓存:API 端点使用输出缓存(CacheOutput 设置过期与 Tag);用 IDistributedCache(如 Redis)缓存数据;用 IMemoryCache 缓存组件状态。 WASM 体积优化:启用裁剪(PublishTrimmed)、AOT 编译(RunAOTCompilation)、按需懒加载程序集、减少 WASM 项目中的 NuGet 包。 Blazor Server:用 Aspire 面板监控电路数量,设置合理的电路超时(CircuitOptions.DisconnectedCircuitRetentionPeriod),减少电路中保存的状态,高流量页面使用 @rendermode InteractiveAuto 卸载到 WASM。
使用方式:按上述要点在组件、服务端端点与项目配置中应用对应设置,例如列表用 @key 与 Virtualize,端点上调用 CacheOutput,WASM 项目设置相应 MSBuild 属性。
适用场景:Blazor 应用出现渲染缓慢、大列表卡顿、WASM 体积过大、服务端电路资源占用高等性能问题时。
限制:未提供具体版本要求、完整性能基准与量化效果;缓存与 AOT 等设置需结合项目实际评估。