É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>  

Voir aussi