写点什么

.NET 10 预览版本 4:改进的 JSON 补丁、Blazor 诊断、OpenAPI 集成等

作者:Almir Vuk

  • 2025-05-22
    北京
  • 本文字数:1184 字

    阅读完需:约 4 分钟

大小:584.24K时长:03:19
.NET 10预览版本4:改进的JSON补丁、Blazor诊断、OpenAPI集成等

微软发布了.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 存储库中的完整发布说明

 

原文链接:

https://www.infoq.com/news/2025/05/dotnet-10-preview-4/

2025-05-22 10:226795

评论

发布
暂无评论
发现更多内容

发布Android库至MavenCentral详解

JAVA活菩萨

Java 后端 java程序员 大厂技能 大厂实践

Axure9基本交互操作(二)

乔乔

8月月更

C++对象模型和this指针实例分析

CtrlX

c++ 面向对象 后端 代码 8月月更

朴素贝叶斯分类-西瓜分类 python

Five

贝叶斯公式 Python. 8月月更

六千字梳理 Node.js 的多进程模型和项目部署流程

昆吾kw

Node Express NGIN pm2

架构实战营复盘

Fan

#架构实战营

leetcode 769. Max Chunks To Make Sorted 最多能完成排序的块(中等)

okokabcd

数组 LeetCode 数据结构与算法

使用软引用实现缓存机制

JAVA活菩萨

Java 后端 java程序员 大厂技能 大厂实践

Nacos配置中心之动态感知

急需上岸的小谢

8月月更

危险!请马上替换代码中的BeanUtils!!!

JAVA活菩萨

Java 后端 java程序员 大厂技能 大厂实践

头脑风暴:打家劫舍

HelloWorld杰少

8月月更

Promise的点点滴滴

坚果

开源 8月月更

原型链中的函数和对象

掘金安东尼

JavaScript 前端 8月月更

C++中const关键字的作用总结

桑榆

c++ 8月月更

来学习开源模块化前端框架—Layui【Layui极致轻量前端框架】

恒山其若陋兮

开源 前端框架 签约计划第三季 8月月更

JVM学习之 内存结构

JAVA活菩萨

Java java程序员 大厂技能 大厂实践 秋招

七日算法先导(五)——归并排序,希尔排序

工程师日月

8月月更

Python 教程之输入输出(6)—— 使用 print() 函数输出

海拥(haiyong.site)

Python 8月月更

12条MySQL优化技巧,提速不止十倍!

TimeFriends

8月月更

【字体反爬】的起点,月票数解析,一个小小的Python案例

梦想橡皮擦

Python 爬虫 8月月更

大算力时代已经到来

吴脑的键客

计算

Github Actions 实现 Node.js 项目的 CICD 环境搭建

昆吾kw

nginx CI/CD Node Express Github Actions

站在数字经济浪尖:360视觉云探路中小微企业数智转型

脑极体

我们来聊聊锁升级吧

JAVA活菩萨

Java 后端 java程序员 大厂技能 大厂实践

系统管理-Linux系统进程管理

Albert Edison

Linux centos 运维 服务器 8月月更

Java “constant string too long” 编译错误

HoneyMoose

编译调试插件功能总结

乌龟哥哥

8月月更

轻松完成接口测试及接口文档

Xd

Java 后端 接口测试

超强力推!阿里全新微服务突击手册,把所有操作都写出来了|超清PDF

冉然学Java

架构 微服务 java; 消息中间件 微服务框架

设计电商秒杀系统

爱晒太阳的大白

.NET 10预览版本4:改进的JSON补丁、Blazor诊断、OpenAPI集成等_微软_InfoQ精选文章