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.
Önerilen eylem
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> :
- öğesini içeren özelliğine IAsyncEnumerable<T>bir JsonIgnoreAttribute ekleyin.
- Örnekleri boş JSON nesneleri olarak seri hale IAsyncEnumerable<T> getiren özel bir dönüştürücü fabrikası tanımlayın.
Etkilenen API’ler
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin