Dela via


System.Text.Json IAsyncEnumerable serialisering

System.Text.Json stöder nu serialisering och deserialisering av IAsyncEnumerable<T> instanser.

Tidigare beteende

I tidigare versioner System.Text.Json serialiserade IAsyncEnumerable<T> instanser som tomma JSON-objekt ({}). Deserialiseringen misslyckades med en JsonException.

Nytt beteende

Asynkrona serialiseringsmetoder räknar nu upp alla IAsyncEnumerable<T> instanser i ett objektdiagram och serialiserar dem sedan som JSON-matriser. Synkrona serialiseringsmetoder stöder IAsyncEnumerable<T> inte serialisering och genererar en NotSupportedException.

Version introducerad

.NET 6

Typ av icke-bakåtkompatibel ändring

Den här ändringen kan påverka källkompatibiliteten. Om du använder .NET 6 igen får du inga kompileringsfel, men du kan stöta på skillnader i körningsserialiseringsbeteende.

Orsak till ändringen

Den här ändringen introducerades för att lägga till stöd för strömningssvar IAsyncEnumerable<T> i ASP.NET Core MVC.

Kontrollera om serialiseringsmodellerna innehåller typer som implementerar IAsyncEnumerable<T> och avgör om det är önskvärt att generera uppräkningen i JSON-utdata. Du kan inaktivera IAsyncEnumerable<T> serialisering på något av följande sätt:

Berörda API:er

Se även