云计算百科
云计算领域专业知识百科平台

.NET 10 中的 ASP.NET Core:Blazor、API 和 OpenAPI 的重大更新

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

微软详细介绍了上个月发布的 .NET 10版本中ASP.NET Core的主要更新。据报道,此版本在 Blazor、Minimal API、OpenAPI 生成、身份验证和框架整体性能方面都进行了广泛的改进。此次更新被誉为迄今为止最全面的 ASP.NET Core 版本之一,其改进涵盖了开发、诊断、运行时行为和安全性等多个方面。

微软表示,Blazor获得了最全面的增强功能。团队为 Blazor Web Apps 引入了更新的安全示例,为OpenID Connect、Microsoft Entra ID和Windows 身份验证场景提供了更清晰的指导。示例解决方案现在包含独立的 API 项目,用于演示安全的 Web API 调用,并且可以通过 JSON 设置文件提供配置,从而实现更灵活的设置。

Blazor 的其他改进包括支持客户端指纹识别、更新了QuickGrid功能、改进了静态资源预加载、更新了路由行为,以及修改了NavigationManager以防止不必要的滚动。Blazor 模板现在包含一个专用的重新连接 UI 组件,以满足更严格的内容安全策略 (CSP)要求。此外,还新增了对新的 JavaScript 互操作 API 的支持、扩展了状态持久性、改进了验证,并增强了 WebAssembly 诊断和性能分析功能。

在文档中,微软展示了如何使用TypedResults.ServerSentEvents API将心率事件以 JSON 格式流式传输给客户端:

app.MapGet("/json-item", (CancellationToken cancellationToken) =>
{
async IAsyncEnumerable<HeartRateRecord> GetHeartRate(
[EnumeratorCancellation] CancellationToken cancellationToken)
{
while (!cancellationToken.IsCancellationRequested)
{
var heartRate = Random.Shared.Next(60, 100);
yield return HeartRateRecord.Create(heartRate);
await Task.Delay(2000, cancellationToken);
}
}

return TypedResults.ServerSentEvents(GetHeartRate(cancellationToken),
eventType: "heartRate");
});

此外,微软表示,Minimal API新增了内置验证支持、改进了对空表单值的处理、兼容了更多记录类型,并与IProblemDetailsS​​ervice更紧密地集成,从而提供一致的错误响应。该框架现在还支持返回服务器发送事件 (Server-Sent Events),从而简化了向客户端流式传输数据的模型。验证 API 已迁移到新的命名空间,使其可在 HTTP 场景之外使用。

ASP.NET Core 中的OpenAPI 支持已得到显著更新,完全兼容OpenAPI 3.1。微软表示,此次更新改进了架构生成、YAML 输出支持、XML 文档处理以及针对特定端点的转换器的新选项。内部 OpenAPI.NET 库已更新至 2.0 版本,这虽然会给使用自定义转换器的开发者带来一些不兼容的变更,但也提高了生成文档的准确性和灵活性。

此次发布还引入了新的身份验证和授权指标,增强了受 Cookie 身份验证保护的 API 端点的行为,并扩展了对 ASP.NET Core Identity 中 WebAuthn 通行密钥的支持。异常处理方面的更新现在允许抑制诊断输出,而 Kestrel 和 HTTP.sys 也都得到了改进:更好地处理*.localhost域、可自定义安全描述符以及在内存池中自动驱逐内存以减少资源使用。

此外,微软还新增了对使用顶级语句的应用程序测试支持,提供了一个基于 System.Text.Json 的全新 JSON Patch 实现,显著提升了性能,并扩展了 MVC 和 Minimal API,使其支持基于 PipeReader 的 JSON 解析。新增的辅助方法RedirectHttpResult.IsLocalUrl提供了一种更安全的重定向目标验证方式。

此版本中的其他更改包括 Blazor WebAssembly 的热重载改进、允许用户在断开连接后恢复会话的电路状态持久性、PWA 服务工作线程注册更新以防止缓存问题,以及用于隐藏表单字段的新 InputHidden 组件。

此外,ASP.NET Core Identity 还针对用户管理和登录跟踪提供了特定指标,Blazor WebAssembly 支持 UI 文化设置,改进了 XML 注释处理,增强了打包器友好的输出,扩展了 NotFound 路由支持,持久组件状态的序列化可扩展性,以及使用新的 .NET MAUI 指南对Hybrid Blazor进行了更新。

感兴趣的你可以在微软官方文档网站上查看完整的发行说明 和重大变更信息。

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

赞(0)
未经允许不得转载:网硕互联帮助中心 » .NET 10 中的 ASP.NET Core:Blazor、API 和 OpenAPI 的重大更新
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!