
微软详细介绍了作为上个月.NET 10 发布内容一部分到来的 ASP.NET Core 主要更新。如先前报道所述,该版本在 Blazor、Minimal APIs、OpenAPI 生成、身份验证以及整体框架性能等方面带来了大幅改进。微软将此次更新描述为迄今为止最全面的一次 ASP.NET Core 迭代,变更覆盖开发体验、诊断能力、运行时行为以及安全性等多个方面。
据 Microsoft 介绍,Blazor 获得了范围最广的一组增强功能。团队为 Blazor Web Apps 引入了更新后的安全示例,为 OpenID Connect、Microsoft Entra ID 以及 Windows Authentication 等场景提供了更清晰的指导。示例解决方案现在包含独立的 API 项目,用于演示安全的 Web API 调用,同时也支持通过 JSON 配置文件提供设置,以实现更灵活的配置方式。
Blazor 的其他改进还包括对客户端指纹识别的支持、QuickGrid 功能更新、静态资源预加载行为的调整、路由行为的更新,以及对 NavigationManager 的修改,以避免不必要的页面滚动。Blazor 模板现在包含一个专门的重连 UI 组件,以适配更严格的 Content Security Policy 要求。同时还新增了对 JavaScript 互操作新 API 的支持,扩展了状态持久化能力,改进了验证机制,并增强了 WebAssembly 的诊断能力和性能分析支持。
在文档中,微软展示了 TypedResults.ServerSentEvents API 如何将心跳事件以 JSON 的形式流式传输给客户端:
此外,微软表示,Minimal APIs 现在内置了验证支持,改进了对空表单值的处理方式,增强了与 record 类型的兼容性,并与 IProblemDetailsService 更紧密地集成,以提供一致的错误响应。框架同时新增了对返回 Server-Sent Events 的支持,使向客户端进行数据流式传输的模型更加简洁。相关验证 API 已迁移到新的命名空间中,使其不仅可用于 HTTP 场景。
ASP.NET Core 的 OpenAPI 支持也得到了显著更新,现已全面兼容 OpenAPI 3.1。微软表示,此次更新改进了 schema 生成质量,增加了对 YAML 输出的支持,优化了 XML 文档注释的处理方式,并引入了新的、可按端点定制的 transformer 选项。内部使用的 OpenAPI.NET 库已升级至 2.0 版本,这一变化会对使用自定义 transformer 的开发者带来破坏性影响,但同时也提升了生成文档的准确性与灵活性。
本次发布还引入了新的身份验证与授权指标,增强了受 Cookie 身份验证保护的 API 端点行为,并在 ASP.NET Core Identity 中扩展了对 WebAuthn Passkey 的支持。异常处理机制的更新允许抑制诊断输出;同时,Kestrel 和 HTTP.sys 也获得了多项改进,包括更好地处理 *.localhost 域名、支持自定义安全描述符,以及在内存池中自动回收资源以降低资源占用。
此外,微软新增了对使用顶级语句应用的测试支持,推出了一个基于 System.Text.Json 的全新 JSON Patch 实现,带来了显著的性能提升,并在 MVC 和 Minimal APIs 中扩展了基于 PipeReader 的 JSON 解析能力。新的辅助方法 RedirectHttpResult.IsLocalUrl 提供了一种更安全的方式来验证重定向目标。
本次版本的其他改动还包括:Blazor WebAssembly 的热加载改进;支持电路状态持久化,使用户在断线后能够恢复会话;更新了 PWA Service Worker 的注册逻辑以避免缓存问题;以及新增了用于隐藏表单字段的 InputHidden 组件。
同时还新增了面向 ASP.NET Core Identity 的用户管理与登录追踪指标、Blazor WebAssembly 对 UI 区域文化设置的支持、改进的 XML 注释处理、更友好的打包输出形式、扩展的 NotFound 路由支持、对持久化组件状态的序列化扩展能力,以及对 Hybrid Blazor 的更新,并提供了新的 .NET MAUI 使用指引。
对于感兴趣的读者,完整的发布说明和破坏性变更列表可在微软官方文档网站上查阅。
原文链接:







评论