Élément <xmlSerializer>
Spécifie si un contrôle supplémentaire de la progression de XmlSerializer est effectué.
<configuration>
<system.xml.serialization>
Syntaxe
<xmlSerializer checkDeserializerAdvance = "true|false" />
Attributs et éléments
Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.
Attributs
Attribut | Description |
---|---|
checkDeserializeAdvances | Spécifie si la progression de XmlSerializer est vérifiée. Affectez "true" ou "false" à l'attribut. La valeur par défaut est "true". |
useLegacySerializationGeneration | Spécifie si XmlSerializer utilise la génération de sérialisation héritée qui génère des assemblys en écrivant le code C# dans un fichier, puis en le compilant dans un assembly. La valeur par défaut est false. |
Éléments enfants
Aucune.
Éléments parents
Élément | Description |
---|---|
<system.xml.serialization>, élément | Contient des paramètres de configuration pour les classes XmlSerializer et XmlSchemaImporter. |
Notes
Par défaut, le XmlSerializer fournit une couche supplémentaire de sécurité contre des attaques par déni de service potentielles lors de la désérialisation de données non fiables. Pour ce faire, il tente de détecter des boucles infinies pendant la désérialisation. Si une telle condition est détectée, une exception est levée avec le message suivant : « Erreur interne : la désérialisation n’a pas pu avancer sur le flux de données sous-jacent. ».
Le fait de recevoir ce message n'indique pas nécessairement qu'une attaque par déni de service est en cours. Dans de rares circonstances, le mécanisme de détection de boucles infinies génère un faux positif et l'exception est levée pour un message entrant légitime. Si vous voyez, dans votre application, que des messages légitimes sont rejetés par cette couche de protection supplémentaire, définissez l’attribut checkDeserializeAdvances sur la valeur false.
Exemple
L’exemple de code suivant assigne la valeur false à l’attribut checkDeserializeAdvances.
<configuration>
<system.xml.serialization>
<xmlSerializer checkDeserializeAdvances="false" />
</system.xml.serialization>
</configuration>