.NET 9 RC1 发布概述
上周,微软发布了 .NET 9 的第一个候选版本 (RC1),这是新框架的首个可用于生产的版本,预计将在今年晚些时候正式发布。该版本包含了许多新功能和改进,尤其是在 ASP.NET Core 方面。
ASP.NET Core 的主要更新
- WebSocket 保持连接超时:
在ClientWebSocketOptions和WebSocketCreationOptions中新增了 API,允许设置 WebSocket 的保持连接超时时间。如果客户端在指定时间内未响应,连接将被中止并抛出异常。这一改进解决了 2021 年提出的问题,即在不同操作系统(Windows 和 Linux)上,TCP 重传超时时间不一致的问题。 Keyed DI 服务支持:
在构造函数和Invoke/InvokeAsync方法中新增了对 Keyed DI 服务的支持。Keyed DI 是一种通过键注册和检索依赖注入 (DI) 服务的机制。服务注册后,可以通过键来获取对应的服务。以下是一个示例:var app = builder.Build(); app.UseMiddleware<MyMiddleware>(); app.Run(); internal class MyMiddleware { private readonly RequestDelegate _next; public MyMiddleware(RequestDelegate next, [FromKeyedServices("test")] MySingletonClass service) { _next = next; } public Task Invoke(HttpContext context, [FromKeyedServices("test2")] MyScopedClass scopedService) => _next(context); }- SignalR 分布式追踪改进:
SignalR 分布式追踪功能在 .NET 9 Preview 6 中引入,允许为 Hub 方法调用发出事件。在此版本中,新增了客户端 Span 的创建和上下文传播支持,使得可以追踪从客户端到服务器再返回的调用流程。
其他更新
InputNumber组件的类型覆盖支持:
新增了对InputNumber组件类型覆盖的支持。- Linux 上的 HTTPS 开发证书支持:
在基于 Ubuntu 和 Fedora 的 Linux 发行版上,ASP.NET Core 的 HTTPS 开发证书现在可以配置为 Chromium 和 Mozilla 浏览器的受信任证书,并可用于 .NET API。
更多信息
有关 .NET 9 RC1 中 ASP.NET Core 更新的详细信息,可参考官方 发布说明。此外,.NET 9 的 ASP.NET Core 路线图也可在 GitHub 上查看。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。