System.Text.Json IAsyncEnumerable serializacja

System.Text.Json teraz obsługuje serializowanie i deserializacji IAsyncEnumerable<T> wystąpień.

Poprzednie zachowanie

W poprzednich wersjach System.Text.Json serializowane IAsyncEnumerable<T> wystąpienia jako puste obiekty JSON ({}). Deserializacja nie powiodła się z błędem JsonException.

Nowe zachowanie

Metody serializacji asynchronicznej wyliczają teraz wszystkie IAsyncEnumerable<T> wystąpienia na grafie obiektów, a następnie serializują je jako tablice JSON. Metody serializacji synchronicznej nie obsługują IAsyncEnumerable<T> serializacji i zgłaszają wartość NotSupportedException.

Wprowadzona wersja

.NET 6

Typ zmiany powodującej niezgodność

Ta zmiana może mieć wpływ na zgodność źródła. Jeśli retarget do platformy .NET 6, nie otrzymasz żadnych błędów czasu kompilacji, ale mogą wystąpić różnice w zachowaniu serializacji w czasie wykonywania.

Przyczyna wprowadzenia zmiany

Ta zmiana została wprowadzona w celu dodania obsługi odpowiedzi przesyłania strumieniowego IAsyncEnumerable<T> w usłudze ASP.NET Core MVC.

Sprawdź, czy modele serializacji zawierają typy, które implementują IAsyncEnumerable<T> i określają, czy emitowanie wyliczenia w danych wyjściowych JSON jest pożądane. Serializacji można wyłączyć IAsyncEnumerable<T> w jeden z następujących sposobów:

Dotyczy interfejsów API

Zobacz też