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


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 Preview 8

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

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

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

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

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

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

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

Затронутые API