Share via


Kestrel: transporte do Libuv marcado como obsoleto

As versões anteriores do ASP.NET Core usavam o Libuv como um detalhe de implementação que definia como a entrada e a saída assíncronas eram executadas. No ASP.NET Core 2.0, um transporte alternativo baseado em Socket foi desenvolvido. No ASP.NET Core 2.1, o Kestrel passou a usar o transporte baseado em Socket por padrão. O suporte ao Libuv foi mantido por motivos de compatibilidade.

Neste ponto, o uso do transporte baseado em Socket é muito mais comum do que o transporte do Libuv. Consequentemente, o suporte do Libuv foi marcado como obsoleto no .NET 5 e será totalmente removido no .NET 6.0.

Nessa alteração, o suporte ao Libuv para novas plataformas de sistema operacional (como o Windows Arm64) não será adicionado no período do .NET 5.

Para discussão sobre problemas de bloqueio que exigem o uso do transporte do Libuv, confira o problema do GitHub em dotnet/aspnetcore#23409.

Versão introduzida

5.0 versão prévia 8

Comportamento antigo

As APIs do Libuv não estão marcadas como obsoletas.

Novo comportamento

As APIs do Libuv estão marcadas como obsoletas.

Motivo da alteração

O transporte baseado em Socket é o padrão. Não há nenhuma razão convincente para continuar usando o transporte do Libuv.

Descontinue o uso do pacote Libuv e dos métodos de extensão.

APIs afetadas