Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
System.Text.Json unterstützt jetzt die Serialisierung und Deserialisierung von IAsyncEnumerable<T> Instanzen.
Vorheriges Verhalten
In früheren Versionen hat System.Text.JsonIAsyncEnumerable<T>-Instanzen als leere JSON-Objekte ({}) serialisiert. Die Deserialisierung schlug mit einer JsonException fehl.
Neues Verhalten
Asynchrone Serialisierungsmethoden enumerieren jetzt alle IAsyncEnumerable<T> Instanzen in einem Objektdiagramm und serialisieren sie dann als JSON-Arrays. Synchrone Serialisierungsmethoden unterstützen die IAsyncEnumerable<T>-Serialisierung nicht und lösen eine NotSupportedException aus.
Eingeführte Version
.NET 6
Art der einschneidenden Änderung
Diese Änderung kann sich auf die Quellkompatibilität auswirken. Wenn Sie auf .NET 6 umsteigen, erhalten Sie keine Kompilierzeitfehler, es treten jedoch möglicherweise Unterschiede beim Verhalten der Laufzeit serialisierung auf.
Grund für Änderung
Diese Änderung wurde eingeführt, um Unterstützung für das Streamen von IAsyncEnumerable<T>-Antworten in ASP.NET Core MVC hinzuzufügen.
Empfohlene Aktion
Überprüfen Sie, ob Ihre Serialisierungsmodelle Typen enthalten, die IAsyncEnumerable<T> implementieren, und bestimmen Sie, ob es wünschenswert ist, die Enumeration in der JSON-Ausgabe auszugeben. Sie können die Serialisierung auf eine der folgenden Arten deaktivieren IAsyncEnumerable<T> :
- Fügen Sie ein JsonIgnoreAttribute an die Eigenschaft an, die IAsyncEnumerable<T> enthält.
- Definieren Sie eine benutzerdefinierte Konverterfactory, die IAsyncEnumerable<T> Instanzen als leere JSON-Objekte serialisiert.