風險降低:使用 DataContractJsonSerializer 序列化控制字元
從 .NET Framework 4.7 開始,使用 DataContractJsonSerializer 序列化控制字元的方式已變更為符合 ECMAScript V6 和 V8。
影響
在 .NET Framework 4.6.2 和舊版中,DataContractJsonSerializer 不會以相容於 ECMAScript V6 及 V8 標準的方式序列化某些特殊控制字元,例如 \b
、\f
和 \t
。
對於以從 .NET Framework 4.7 開始的 .NET Framework 版本為目標的應用程式,序列化這些控制字元的方式已相容於 ECMAScript V6 和 V8。 以下是受影響的 API:
風險降低
對於以 .NET Framework 4.7 版開始的 .NET Framework 為目標的應用程式,此行為預設為啟用。
如果不需要此行為,您可將下列程式行加入至 app.config 或 web.config 檔案的 <runtime>
區段,以選擇退出此功能:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Runtime.Serialization.DoNotUseECMAScriptV6EscapeControlCharacter=false" />
</runtime>