Udostępnij za pośrednictwem


Środki zaradcze: serializacja znaków kontrolek za pomocą elementu DataContractJsonSerializer

Począwszy od programu .NET Framework 4.7, sposób serializacji znaków sterujących został zmieniony tak, aby był zgodny z DataContractJsonSerializer ecMAScript V6 i V8.

Wpływ

W programie .NET Framework 4.6.2 i starszych wersjach DataContractJsonSerializer nie serializowano niektórych specjalnych znaków kontrolnych, takich jak \b, \fi \t, w sposób zgodny ze standardami ECMAScript V6 i V8.

W przypadku aplikacji przeznaczonych dla wersji programu .NET Framework, począwszy od programu .NET Framework 4.7, serializacja tych znaków kontrolnych jest zgodna z programem ECMAScript V6 i V8. Ma to wpływ na następujące interfejsy API:

Czynności zapobiegawcze

W przypadku aplikacji przeznaczonych dla wersji programu .NET Framework, począwszy od programu .NET Framework 4.7, to zachowanie jest domyślnie włączone.

Jeśli to zachowanie nie jest pożądane, możesz zrezygnować z tej funkcji, dodając następujący wiersz do <runtime> sekcji pliku app.config lub web.config:

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

Zobacz też