Aracılığıyla paylaş


System.Text.Json IAsyncEnumerable serileştirme

System.Text.Json artık örnekleri seri hale getirme ve seri durumdan IAsyncEnumerable<T> çıkarma desteğine sahip.

Önceki davranış

Önceki sürümlerde, System.Text.Json serileştirilmiş IAsyncEnumerable<T> örnekler boş JSON nesneleri ({} olarak). Seri durumdan çıkarma işlemi ile JsonExceptionbaşarısız oldu.

Yeni davranış

Zaman uyumsuz serileştirme yöntemleri artık bir nesne grafiğindeki tüm IAsyncEnumerable<T> örnekleri numaralandırır ve sonra bunları JSON dizileri olarak seri hale getirir. Zaman uyumlu serileştirme yöntemleri serileştirmeyi desteklemez IAsyncEnumerable<T> ve bir NotSupportedExceptionoluşturur.

Sürüm kullanıma sunulmuştur

.NET 6

Hataya neden olan değişikliğin türü

Bu değişiklik kaynak uyumluluğunu etkileyebilir. .NET 6'ya yeniden hedeflediyseniz, derleme zamanı hataları almazsınız, ancak çalışma zamanı serileştirme davranışı farklılıklarıyla karşılaşabilirsiniz.

Değişiklik nedeni

Bu değişiklik, ASP.NET Core MVC'de akış IAsyncEnumerable<T> yanıtları için destek eklemek için sunulmuştur.

Serileştirme modellerinizin uygulayan IAsyncEnumerable<T> türler içerip içermediğini denetleyin ve JSON çıkışında numaralandırmanın yayılması istenip istenmediğini belirleyin. Serileştirmeyi aşağıdaki yollardan biriyle devre dışı bırakabilirsiniz IAsyncEnumerable<T> :

Etkilenen API’ler

Ayrıca bkz.