
微软发布了.NET 10的第四个预览版本,为带来了一系列的增强功能。如 ASP.NET Core、Blazor、.NET MAUI、WPF、Entity Framework Core,以及运行时等。
这个版本引入了一个新的 JSON 补丁(Patch)实现,为在 ASP.NET Core 中使用 System.Text.Json,提供了一个比之前基于 Newtonsoft.Json 版本更高效的替代方案。虽然它提高了性能并减少了内存使用,但需要注意的是,新实现不支持动态类型,所以它不是一个完全的替代品。
此外,对最小 API 验证的支持已扩展到了记录类型,开发人员现在可以使用转换器以编程的方式生成 OpenAPI 模式。可以使用新添加的转换器上下文方法将这些模式动态添加到 OpenAPI 文档中。改进的 XML 文档集成现在允许包含来自外部程序集的注释,从而改善了主项目中未定义类型的 API 文档。
这个版本中的 Blazor 增强功能包括 NavigationManager 中的一个新的 NotFound 方法,用于在渲染过程中发出丢失页面的信号。静态服务器端渲染期间的 Navigation 行为也已与交互式场景对齐,移除了之前抛出的 NavigationException。
Blazor 的 WebAssembly 运行时现在提供了详细的诊断功能,支持性能跟踪、内存转储和运行时指标的收集,尽管启用该功能可能会增加应用程序的大小并降低性能。
(Blazor WebAssembly 运行时诊断,来源:GitHub 发布说明)
JavaScript 互操作已经通过新 API 进行了扩展,可以直接从 .NET 调用 JavaScript 对象的构造函数和访问属性。还增加了通过 IJSObjectReference 引用 JavaScript 函数的支持。
通过预加载静态框架资产和将启动清单合并到 dotnet.js 文件中,Blazor WebAssembly 应用程序现在获得了更好的运行时性能。相关模板更新包括对导入映射的支持和通过 OverrideHtmlAssetPlaceholders 属性改进的资产指纹识别。
关于.NET MAUI,预览版本 4 在跨多个平台上引入了改进,包括日期和时间选择器中的可空支持、移动设备上的增强媒体选择,以及与输入和渲染行为相关的各种缺陷修复。
WPF 的更新包括对基于文本的控件的 Fluent 主题样式进行了细化,以及对消息框和共享剪贴板 API 的改进。据报道,通过代码清理和重构实现了显著的性能提升,同时在影响 Fluent 系统主题模式下影响 TextBox 和 DatePicker 的已知问题已经得到了确认,预计将在预览版 5 中得到解决。
此外,Entity Framework Core 10带来了对 Azure Cosmos DB 上的全文搜索和混合搜索支持,支持更高级的搜索查询。全文搜索现在可以在 EF Core API 中建模,并直接在 LINQ 查询中使用。
此外,在 EF9 中实验性引入的向量相似性搜索现在已经达到了稳定状态,并扩展了功能,包括对自有参考实体的支持。
这个版本中的其他变更包括对 Kestrel 中的 WebApplicationFactory 测试的改进、增强的 OpenAPI.NET 支持、为一致性而重命名的 API,以及对 EF Core SQL 转换和性能的各种改进。
最后,对于感兴趣的读者,请参阅 .NET GitHub 存储库中的完整发布说明。
原文链接: