Udostępnij za pośrednictwem


Środki zaradcze: serializacja znaków sterujących przy użyciu DataContractJsonSerializer

Począwszy od oprogramowania .NET Framework 4.7, zmienił się sposób, w jaki znaki sterujące są serializowane za pomocą DataContractJsonSerializer, aby były zgodne z 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 sekcji <runtime> pliku app.config lub web.config:

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

Zobacz także