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