<xmlSerializer>-Element
Gibt an, ob eine zusätzliche Zustandsüberprüfung für XmlSerializer durchgeführt wird.
<Konfiguration>
<system.xml.serialization>
Syntax
<xmlSerializer checkDeserializerAdvance = "true|false" />
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
attribute | Beschreibung |
---|---|
checkDeserializeAdvances | Gibt an, ob der Zustand von XmlSerializer überprüft wird. Legen Sie das Attribut auf "true" oder "false" fest. Der Standardwert ist "true". |
useLegacySerializationGeneration | Gibt an, ob XmlSerializer eine Vorgänger-Serialisierungsgenerierung verwendet, die Assemblys generiert, indem C#-Code in eine Datei geschrieben und anschließend in eine Assembly kompiliert wird. Der Standardwert ist FALSE. |
Untergeordnete Elemente
Keine
Übergeordnete Elemente
Element | BESCHREIBUNG |
---|---|
<system.xml.serialization>-Element | Enthält Konfigurationseinstellungen für die XmlSerializer-Klasse und die XmlSchemaImporter-Klasse. |
Hinweise
Standardmäßig bietet XmlSerializer eine zusätzliche Sicherheitsebene, um mögliche Denial-of-Service-Angriffe beim Serialisieren nicht vertrauenswürdiger Daten zu verhindern. Hierzu wird während der Deserialisierung versucht, Endlosschleifen zu erkennen. Wenn eine solche Bedingung erkannt wird, wird eine Ausnahme mit der folgenden Meldung ausgelöst: „Interner Fehler: Die Deserialisierung konnte über den zugrunde liegenden Datenstrom hinaus nicht erweitert werden.“
Diese Meldung bedeutet nicht unbedingt, dass gerade ein Denial-of-Service-Angriff ausgeführt wird. In einigen seltenen Fällen erzeugt der Erkennungsmechanismus für Endlosschleifen einen falschen positiven Wert und die Ausnahme wird aufgrund einer zulässigen eingehenden Meldung ausgelöst. Wenn in Ihrer Anwendung zulässige Meldungen durch diese zusätzliche Sicherheitsebene verweigert werden, legen Sie das checkDeserializeAdvances-Attribut auf FALSE fest.
Beispiel
Im folgenden Codebeispiel wird das checkDeserializeAdvances-Attribut auf FALSE festgelegt.
<configuration>
<system.xml.serialization>
<xmlSerializer checkDeserializeAdvances="false" />
</system.xml.serialization>
</configuration>