Aracılığıyla paylaş


System.Text.Json IAsyncEnumerable serileştirme

System.Text.Json artık IAsyncEnumerable<T> örneklerini serileştirme ve seriden çıkarma işlemlerini destekliyor.

Önceki davranış

Önceki sürümlerde, System.Text.Json, IAsyncEnumerable<T> örneklerini boş JSON nesneleri olarak serileştiriyordu ({}). 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 IAsyncEnumerable<T> serileştirmeyi desteklemez ve bir NotSupportedException fırlatır.

Sürüm kullanıma sunulmuştur

.NET 6

Kesinti yaratan değişiklik türü

Bu değişiklik kaynak uyumluluğunuetkileyebilir. .NET 6'ya yeniden hedeflendirirseniz, derleme zamanında hata almazsınız, ancak çalışma zamanı serileştirme davranışlarındaki farklılıklarla 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 bakınız