Entschärfung: Serialisierung von Steuerzeichen mit DataContractJsonSerializer
Ab .NET Framework 4.7 hat sich die Serialisierung von Steuerzeichen mit dem DataContractJsonSerializer geändert und entspricht nun ECMAScript V6 und V8.
Auswirkungen
Bis .NET Framework 4.6.2 serialisierte der DataContractJsonSerializer einige besondere Steuerzeichen, wie etwa \b
, \f
und \t
nicht in einer Weise, die mit den Standards ECMAScript V6 und V8 kompatibel ist.
Für Apps mit Zielversionen ab .NET Framework 4.7 ist die Serialisierung dieser Steuerzeichen mit ECMAScript V6 und V8 kompatibel. Dies betrifft die folgenden APIs:
Minderung
Für Apps mit Zielversionen ab .NET Framework 4.7 ist dieses Verhalten standardmäßig aktiviert.
Wenn dieses Verhalten unerwünscht ist, können Sie sich gegen diese Funktion entscheiden, indem Sie dem Abschnitt <runtime>
der app.config- oder web.config-Datei die folgende Zeile hinzufügen:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Runtime.Serialization.DoNotUseECMAScriptV6EscapeControlCharacter=false" />
</runtime>