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
- WebHostBuilderLibuvExtensions
- WebHostBuilderLibuvExtensions.UseLibuv
- Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.LibuvTransportOptions
- Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.LibuvTransportOptions.ThreadCount
- Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.LibuvTransportOptions.NoDelay
- Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.LibuvTransportOptions.MaxWriteBufferSize
- Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.LibuvTransportOptions.MaxReadBufferSize
Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.LibuvTransportOptions.Backlog
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈