Ś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
, \f
i \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>