Kestrel: Markierung von libuv-Transport als veraltet

Frühere Versionen von ASP.NET Core haben Libuv als Implementierungsdetail für die Ausführung der asynchronen Ein- und Ausgabe verwendet. In ASP.NET Core 2.0 wurde ein alternativer Socket-basierter Transport entwickelt. In ASP.NET Core 2.1 wurde Kestrel standardmäßig auf die Verwendung des Socket-basierten Transports umgestellt. Die Unterstützung von Libuv wurde aus Kompatibilitätsgründen beibehalten.

Heute ist die Verwendung des Socket-basierten Transports weitaus häufiger als des Libuv-Transports. Folglich ist die Libuv-Unterstützung in .NET 5 als veraltet markiert und wird in .NET 6.0 vollständig entfernt.

Im Rahmen dieser Änderung wird die Libuv-Unterstützung für neue Betriebssystemplattformen (wie Windows Arm64) nicht im .NET 5-Zeitrahmen hinzugefügt.

Informationen zu Blockierungsproblemen, die die Verwendung des Libuv-Transports erfordern, finden Sie im GitHub Issue unter dotnet/aspnetcore#23409.

Eingeführt in Version

5.0 Preview 8

Altes Verhalten

Die Libuv-APIs sind nicht als veraltet markiert.

Neues Verhalten

Die Libuv-APIs sind als veraltet markiert.

Grund für die Änderung

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

Beenden Sie die Verwendung des Libuv-Pakets und der Erweiterungsmethoden.

Betroffene APIs