다음을 통해 공유


완화: DataContractJsonSerializer로 제어 문자 serialization

.NET Framework 4.7부터 제어 문자가 DataContractJsonSerializer로 직렬화되는 방식이 ECMAScript V6 및 V8에 맞게 변경되었습니다.

영향

.NET Framework 4.6.2 이하 버전에서는 DataContractJsonSerializer가 ECMAScript V6 및 V8 표준과 호환되는 방식으로 \b, \f, \t 등의 일부 특수 제어 문자를 serialize하지 않았습니다.

.NET Framework 4.7 이상의 .NET Framework 버전을 대상으로 하는 앱의 경우 이러한 제어 문자의 직렬화가 ECMAScript V6 및 V8과 호환됩니다. 다음 API가 영향을 받습니다.

완화

.NET Framework 4.7 이상의 .NET Framework 버전을 대상으로 하는 앱의 경우 이 동작이 기본적으로 사용되도록 설정됩니다.

이 동작을 원치 않는 경우 app.config 또는 web.config 파일의 <runtime> 섹션에 다음 줄을 추가하여 이 기능을 옵트아웃(opt out)할 수 있습니다.

<runtime>
   <AppContextSwitchOverrides value="Switch.System.Runtime.Serialization.DoNotUseECMAScriptV6EscapeControlCharacter=false" />
</runtime>

참고 항목