Atténuation : Sérialisation des caractères de contrôle avec DataContractJsonSerializer
À compter de .NET Framework 4.7, la manière dont les caractères de contrôle sont sérialisés avec le DataContractJsonSerializer a changé pour être conforme à ECMAScript V6 et V8.
Impact
Dans .NET Framework 4.6.2 et versions antérieures, le DataContractJsonSerializer ne sérialise pas certains caractères de contrôle spéciaux, comme \b
, \f
et \t
, d’une manière compatible avec les normes ECMAScript V6 et V8.
Pour les applications qui ciblent des versions de .NET Framework ultérieures à 4.7, la sérialisation de ces caractères de contrôle est compatible avec ECMAScript V6 et V8. Les API suivantes sont concernées :
Limitation des risques
Pour les applications qui ciblent des versions de .NET Framework ultérieures à la 4.7, ce comportement est activé par défaut.
Si ce comportement n’est pas souhaitable, vous pouvez désactiver cette fonctionnalité en ajoutant la ligne suivante à la section <runtime>
du fichier app.config ou au fichier web.config :
<runtime>
<AppContextSwitchOverrides value="Switch.System.Runtime.Serialization.DoNotUseECMAScriptV6EscapeControlCharacter=false" />
</runtime>
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour