다음을 통해 공유


System.Text.Json IAsyncEnumerable 직렬화

System.Text.Json 이제 인스턴스의 IAsyncEnumerable<T> 직렬화 및 역직렬화를 지원합니다.

이전 동작

이전 버전 System.Text.Json 에서는 인스턴스를 빈 JSON 개체(IAsyncEnumerable<T>)로 직렬화 {} 했습니다. 역직렬화가 JsonException로 실패했습니다.

새 동작

이제 비동기 serialization 메서드는 개체 그래프의 모든 IAsyncEnumerable<T> 인스턴스를 열거한 다음 JSON 배열로 serialize합니다. 동기화된 직렬화 메서드는 IAsyncEnumerable<T> 직렬화를 지원하지 않으며 NotSupportedException를 발생시킵니다.

도입된 버전

.NET 6

파괴적 변경 유형

이 변경 사항은 소스 호환성에 영향을 줄 수 있습니다. .NET 6으로 대상을 변경하면 컴파일 시간 오류가 발생하지 않지만 런타임 serialization 동작 차이가 발생할 수 있습니다.

변경 이유

이 변경 내용은 ASP.NET Core MVC에서 스트리밍 IAsyncEnumerable<T> 응답에 대한 지원을 추가하기 위해 도입되었습니다.

serialization 모델에 구현 IAsyncEnumerable<T> 하는 형식이 포함되어 있는지 확인하고 JSON 출력에서 열거형을 내보내는 것이 바람직한지 확인합니다. IAsyncEnumerable<T> serialization을 다음 방법 중 하나로 사용하지 않도록 설정할 수 있습니다.

영향을 받는 API

참고하십시오