Kestrel: trasporto Libuv contrassegnato come obsoleto
Le versioni precedenti di ASP.NET Core usavano Libuv come dettaglio dell'implementazione della modalità di esecuzione dell'input e dell'output asincroni. In ASP.NET Core 2.0 è stata sviluppata un'alternativa, il trasporto basato su Socket. In ASP.NET Core 2.1 Kestrel passa all'uso del trasporto basato su Socket
per impostazione predefinita. Il supporto di Libuv è stato mantenuto per motivi di compatibilità.
A questo punto, l'uso del trasporto basato su Socket
è molto più comune del trasporto Libuv. Di conseguenza, il supporto di Libuv è contrassegnato come obsoleto in .NET 5 e verrà rimosso interamente in .NET 6.0.
Come parte di questa modifica, il supporto di Libuv per le nuove piattaforme del sistema operativo, ad esempio Windows Arm64, non verrà aggiunto nell'intervallo di tempo di .NET 5.
Per informazioni sui problemi che causano un blocco che richiedono l'uso del trasporto Libuv, vedere il problema di GitHub in dotnet/aspnetcore#23409.
Versione introdotta
5.0 Preview 8
Comportamento precedente
Le API Libuv non sono contrassegnate come obsolete.
Nuovo comportamento
Le API Libuv sono contrassegnate come obsolete.
Motivo della modifica
Il trasporto basato su Socket
è l'impostazione predefinita. Non ci sono motivi convincenti per continuare a usare il trasporto Libuv.
Azione consigliata
Interrompere l'uso del pacchetto Libuv e dei metodi di estensione.
API interessate
- 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