從 .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>