.net9 发布到现在已经有大半年了,以前大家一直对c#语言诸多诟病,但本人在使用asp.net core 以来一直感觉挺不错的,而且每次升级,旧代码也很容易更新到最新的版本。也许网上很多的谣言是大家对于.net 还是有一定的偏见。那么与.net8 相比。.net9有那些方面的提升呢?

1. 性能优化
| 特性 | .NET 8 | .NET 9 |
|---|---|---|
| HTTP/3 支持 | 实验性支持,需手动启用 | 默认启用,性能优化(减少连接建立时间) |
| AOT 编译 | 支持,但存在限制 | 改进 AOT 编译覆盖率,支持更多场景 |
| JSON 序列化 | 优化基本类型序列化 | 新增 JsonSerializerContext 缓存,提升复杂对象序列化性能 |
| GC 性能 | 标准 GC 策略 | 引入动态 GC 策略,自动适应工作负载 |
2. 新特性与增强
最小 Api 改进
Blazor 增强
身份验证与授权
分布式系统支持
3. 开发体验优化
| 特性 | .NET 8 | .NET 9 |
|---|---|---|
| 热重载 | 支持方法体修改 | 支持更多场景(如添加字段、修改路由) |
| 模板更新 | 基础 Web API 模板 | 新增 .NET Aspire 应用模板 |
| 诊断工具 | dotnet monitor 基础功能 | 增强 dotnet monitor,支持实时指标导出 |
| Swagger 集成 | 需手动配置 | 模板默认包含 Swagger UI 和 OpenAPI 文档 |