Freigeben über


Kestrel: Markierung von libuv-Transport als veraltet

Frühere Versionen von ASP.NET Core verwendeten Libuv als Implementierungsdetails, wie asynchrone Eingabe und Ausgabe ausgeführt wurden. In ASP.NET Core 2.0 wurde ein alternativer, Socket-basierter Transport entwickelt. In ASP.NET Core 2.1 wurde Kestrel standardmäßig auf den Socket-basierten Transport umgestellt. Die Libuv-Unterstützung wurde aus Kompatibilitätsgründen beibehalten.

Zu diesem Zeitpunkt ist die Nutzung des Socket-basierten Transports viel häufiger als der Libuv-Transport. Daher ist die Libuv-Unterstützung in .NET 5 als veraltet gekennzeichnet und wird vollständig in .NET 6.0 entfernt.

Im Rahmen dieser Änderung wird die Unterstützung für Libuv auf neuen Betriebssystemplattformen (wie Windows Arm64) nicht im Zeitplan für .NET 5 aufgenommen.

Eine Diskussion zu Blockierungsproblemen, die die Verwendung des Libuv-Transports erfordern, finden Sie im GitHub-Problem bei dotnet/aspnetcore#23409.

Eingeführte Version

5.0 Preview 8

Altes Verhalten

Die Libuv-APIs sind nicht als veraltet gekennzeichnet.

Neues Verhalten

Die Libuv-APIs sind als veraltet gekennzeichnet.

Grund für Änderung

Der Socket-basierte Transport ist die Standardeinstellung. Es gibt keine zwingenden Gründe, den Libuv-Transport weiter zu verwenden.

Die Verwendung des Libuv-Pakets und der Erweiterungsmethoden wird eingestellt.

Betroffene APIs