这次 .NET 11 Preview 2,如果只看表面,其实没什么特别炸裂的新 API。但如果你仔细看,会发现它做了一件更重要的事情:在底层、性能和工程体验上做了一轮系统性的优化。
简单说,这一版不是让你“写更多新东西”,而是让你“现有的代码跑得更好”。
Runtime:Async 终于更像“正常调用”了
这次 Runtime 最大的变化,是对 async 的底层实现做了升级。
以前的 async,本质是编译器生成的一堆状态机,调试的时候堆栈很乱,日志也不太好看。现在改进之后,调用栈变得更干净,很多时候可以直接看到业务代码,而不是一层层 MoveNext。
这带来的好处很直接:调试更轻松,日志更清晰,同时运行时开销也更低。可以理解为,async 正在从“语法糖”逐渐变成“运行时原生能力”。
ASP.NET Core:更稳、更抗压
在 Web 这一块,这次主要是“抗打能力”和“可观测性”的提升。
Kestrel 对异常路径做了优化,尤其是在处理无效请求或恶意流量时,不再频繁抛异常,而是走更轻量的路径。这在高并发或者被扫描的场景下,能明显提升吞吐量,也减少资源浪费。
另外,OpenTelemetry 的支持进一步增强,一些常用的 HTTP 指标现在是开箱即用,不需要额外再接一堆 instrumentation。对于做监控、链路追踪的项目来说,这一步很实用。
EF Core:开始明显向 AI 场景靠拢
EF Core 这次的更新,有一个很明显的方向:支持向量数据和搜索。
除了常规的 LINQ 增强(比如支持 MaxBy、MinBy),更重要的是在 SQL Server 上增加了向量搜索、向量索引等能力。这意味着,做语义搜索、推荐系统、RAG 这类 AI 应用时,可以直接通过 EF Core 去操作数据库,而不是绕一堆自定义方案。
换句话说,ORM 开始正式进入 AI 时代了。
SDK:更小、更聪明
SDK 这边主要是工程体验的优化。
首先是体积变小了,尤其是 Linux 和容器镜像,缩减比较明显。这对 CI/CD 和部署来说,能直接节省时间和资源。
其次是 Analyzer 的改进,误报更少、性能更好,提示信息也更清晰。日常开发中,这种“少打扰但更准确”的工具体验,其实很重要。
Libraries:没有大功能,但到处都更快了
类库层面没有特别显眼的新 API,但优化非常多。
比如 System.Text.Json 在元数据处理上更灵活,Tar 支持更多格式,还有一些数值计算相关的类型做了性能优化。这些改动看起来零散,但叠加起来,会让整体性能有比较稳定的提升。
可以理解为,这是一次“全面打磨”。
JIT 和底层性能:继续挤水分
JIT 和运行时在这版里继续做性能优化,比如更好的边界检查消除、更高效的代码生成,以及 async 调度的改进。
这些变化不会改变你的写法,但会让代码在不知不觉中跑得更快。这也是 .NET 一直以来的优势:很多性能提升是“自动获得”的。
总结:一次典型的“地基升级”
如果要用一句话总结 .NET 11 Preview 2,那就是:一次非常典型的地基升级。
它没有试图用大量新功能吸引注意力,而是把重点放在运行时、性能、可观测性以及未来(尤其是 AI 场景)的能力铺垫上。
对开发者来说,这意味着你不需要做太多改动,就能获得更好的性能、更稳定的服务,以及更清晰的调试体验。这种升级,短期看不惊艳,但长期价值很高。
声明:来自硅基-桂迹,仅代表创作者观点。链接:https://eyangzhen.com/6842.html