
微软发布了.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 存储库中的完整发布说明。
原文链接:
评论