Kestrel:Libuv 传输标记为已过时

早期版本的 ASP.NET Core 使用 Libuv 作为如何执行异步输入和输出的实现详细信息。 在 ASP.NET Core 2.0 中,开发了一种基于 Socket 的替代传输。 在 ASP.NET Core 2.1 中,Kestrel 默认切换到使用 Socket基于的传输。 出于兼容性原因,维护了 Libuv 支持。

此时使用Socket传输比使用Libuv传输更为常见。 因此,Libuv 支持在 .NET 5 中标记为已过时,将在 .NET 6.0 中完全删除。

作为此更改的一部分,在 .NET 5 时间范围内不会添加对新操作系统平台(如 Windows Arm64)的 Libuv 支持。

讨论需要使用 Libuv 传输的阻塞问题,请参阅 GitHub 上的 dotnet/aspnetcore#23409 问题。

已引入的版本

5.0 预览版 8

旧行为

Libuv API 未标记为已过时。

新行为

Libuv API 标记为已过时。

更改原因

基于 Socket 的传输是默认设置。 不必继续使用 Libuv 传输。

停止使用 Libuv 包 和扩展方法。

受影响的 API