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에서 완전히 제거됩니다.
이러한 변경의 일환으로 새로운 운영 체제 플랫폼(예: Windows Arm64)에 대한 Libuv 지원은 .NET 5 기간에 추가되지 않습니다.
Libuv 전송을 필수적으로 사용해야 하는 문제에 대한 내용은 dotnet/aspnetcore#23409에서 GitHub 문제를 참조하세요.
도입된 버전
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
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET