Поделиться через


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.

В рамках этого изменения поддержка Libuv для новых платформ операционной системы (например, Windows Arm64) не будет добавлена в период времени .NET 5.

Сведения о критических проблемах, требующих использования транспорта Libuv, см. в GitHub в разделе dotnet/aspnetcore#23409.

Представленные версии

5.0, предварительная версия 8

Старое поведение

API-интерфейсы Libuv не помечены как устаревшие.

Новое поведение

API-интерфейсы Libuv помечены как устаревшие.

Причина изменения

По умолчанию используется транспорт на основе Socket. Нет никаких причин для продолжения использования транспорта Libuv.

Прекращение использования пакета Libuv и методов расширения.

Затронутые API