Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
System.Text.Json supporta ora la serializzazione e la deserializzazione delle IAsyncEnumerable<T> istanze.
Comportamento precedente
Nelle versioni precedenti, System.Text.Json ha serializzato le istanze IAsyncEnumerable<T> come oggetti JSON vuoti ({}). Deserializzazione non riuscita con JsonException.
Nuovo comportamento
I metodi di serializzazione asincroni enumerano ora tutte IAsyncEnumerable<T> le istanze in un oggetto grafico e quindi le serializzano come matrici JSON. I metodi di serializzazione sincrona non supportano IAsyncEnumerable<T> la serializzazione e generano un'eccezione NotSupportedException.
Versione introdotta
.NET 6
Tipo di cambiamento che interrompe la compatibilità
Questa modifica può influire sulla compatibilità del codice sorgente . Se si reindirizza a .NET 6, non verranno visualizzati errori in fase di compilazione, ma potrebbero verificarsi differenze di comportamento della serializzazione durante l'esecuzione.
Motivo della modifica
Questa modifica è stata introdotta per aggiungere il supporto per le risposte di streaming IAsyncEnumerable<T> in ASP.NET Core MVC.
Azione consigliata
Controllare se i modelli di serializzazione contengono tipi che implementano IAsyncEnumerable<T> e determinano se generare l'enumerazione nell'output JSON è consigliabile. È possibile disabilitare IAsyncEnumerable<T> la serializzazione in uno dei modi seguenti:
- Associare un oggetto JsonIgnoreAttribute alla proprietà contenente l'oggetto IAsyncEnumerable<T>.
- Definire una fabbrica di convertitori personalizzata che serializza istanze come oggetti JSON vuoti.