Kestrel: Transport Libuv oznaczony jako przestarzały
Wcześniejsze wersje ASP.NET Core używały biblioteki Libuv jako szczegółów implementacji sposobu wykonywania asynchronicznych danych wejściowych i wyjściowych. W ASP.NET Core 2.0 opracowano alternatywny Sockettransport oparty na technologii . W systemie ASP.NET Core 2.1 firma Kestrel domyślnie przełączała się na korzystanie z transportu opartego Socket
na technologii . Obsługa biblioteki Libuv została zachowana ze względów zgodności.
W tym momencie korzystanie z transportu opartego Socket
na bazie jest znacznie bardziej powszechne niż transport Libuv. W związku z tym obsługa biblioteki Libuv jest oznaczona jako przestarzała na platformie .NET 5 i zostanie całkowicie usunięta na platformie .NET 6.0.
W ramach tej zmiany obsługa biblioteki Libuv dla nowych platform systemu operacyjnego (takich jak Windows Arm64) nie zostanie dodana w przedziale czasowym platformy .NET 5.
Aby zapoznać się z dyskusją na temat problemów blokujących, które wymagają korzystania z transportu Libuv, zobacz problem z usługą GitHub pod adresem dotnet/aspnetcore#23409.
Wprowadzona wersja
5.0 (wersja zapoznawcza 8)
Stare zachowanie
Interfejsy API Libuv nie są oznaczone jako przestarzałe.
Nowe zachowanie
Interfejsy API Libuv są oznaczone jako przestarzałe.
Przyczyna wprowadzenia zmiany
Transport Socket
oparty na protokole jest domyślny. Nie ma żadnych atrakcyjnych powodów, aby nadal korzystać z transportu Libuv.
Zalecana akcja
Zaprzestanie korzystania z metod pakietu Libuv i rozszerzeń.
Dotyczy interfejsów 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