Share via


System.Text.Json IAsyncEnumerable szerializálás

System.Text.Json mostantól támogatja a példányok szerializálását és deszerializálását IAsyncEnumerable<T> .

Előző viselkedés

A korábbi verziókban a System.Text.Json szerializált IAsyncEnumerable<T> példányok üres JSON-objektumként ({}). A deszerializálás sikertelen volt egy JsonException.

Új viselkedés

Az aszinkron szerializálási módszerek mostantól számbavételt IAsyncEnumerable<T> hajtanak végre az objektumgráfban lévő példányok számbavételén, majd JSON-tömbökként szerializálják őket. A szinkron szerializációs metódusok nem támogatják IAsyncEnumerable<T> a szerializálást, és nem adnak egy NotSupportedException.

Bevezetett verzió

.NET 6

A kompatibilitástörő változás típusa

Ez a módosítás hatással lehet a forráskompatibilitásra. Ha újrakezdi a .NET 6-ot, nem fog fordítási időt eredményezni, de futásidejű szerializálási viselkedésbeli különbségek léphetnek fel.

A változás oka

Ez a módosítás a streamelési IAsyncEnumerable<T> válaszok ASP.NET Core MVC-ben való támogatásához lett bevezetve.

Ellenőrizze, hogy a szerializálási modellek olyan típusokat tartalmaznak-e, amelyek implementálják IAsyncEnumerable<T> , és meghatározzák, hogy a számbavétel a JSON-kimenetben kívánatos-e. A szerializálást az alábbi módok egyikével tilthatja le IAsyncEnumerable<T> :

Érintett API-k

Lásd még