Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
System.Text.Json ondersteunt nu serialiseren en deserialiseren van IAsyncEnumerable<T> exemplaren.
Vorig gedrag
In eerdere versies werden System.Text.JsonIAsyncEnumerable<T> exemplaren geserialiseerd als lege JSON-objecten ({}). Deserialisatie is mislukt met een JsonException.
Nieuw gedrag
Asynchrone serialisatiemethoden inventariseren nu alle IAsyncEnumerable<T> exemplaren in een objectgrafiek en serialiseren ze vervolgens als JSON-matrices. Synchrone serialisatiemethoden bieden geen ondersteuning voor IAsyncEnumerable<T> serialisatie en werpen een NotSupportedException.
Geïntroduceerde versie
.NET 6
Type van brekende verandering
Deze wijziging kan invloed hebben op broncompatibiliteit. Als u naar .NET 6 retarget, krijgt u geen compilatiefouten, maar kunnen er verschillen optreden in het serialisatiegedrag van runtime.
Reden voor wijziging
Deze wijziging is geïntroduceerd om ondersteuning toe te voegen voor streamingantwoorden IAsyncEnumerable<T> in ASP.NET Core MVC.
Aanbevolen actie
Controleer of uw serialisatiemodellen typen bevatten die implementeren IAsyncEnumerable<T> en bepalen of het verzenden van de opsomming in de JSON-uitvoer wenselijk is. U kunt serialisatie op een van de volgende manieren uitschakelen IAsyncEnumerable<T> :
- Koppel een JsonIgnoreAttribute aan de eigenschap die de IAsyncEnumerable<T> bevat.
- Definieer een aangepaste conversiefactory die exemplaren serialiseert IAsyncEnumerable<T> als lege JSON-objecten.