<XmlSerializer >-Element<xmlSerializer> Element

Gibt an, ob eine zusätzliche Zustandsüberprüfung für XmlSerializer durchgeführt wird.Specifies whether an additional check of progress of the XmlSerializer is done.

<configuration><configuration>
<system.xml.serialization><system.xml.serialization>

SyntaxSyntax

<xmlSerializer checkDeserializerAdvance = "true"|"false" />  

Attribute und ElementeAttributes and Elements

In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.The following sections describe attributes, child elements, and parent elements.

AttributeAttributes

AttributAttribute BeschreibungDescription
checkDeserializeAdvancescheckDeserializeAdvances Gibt an, ob der Zustand von XmlSerializer überprüft wird.Specifies whether the progress of the XmlSerializer is checked. Legen Sie das Attribut auf "true" oder "false" fest.Set the attribute to "true" or "false". Der Standardwert ist "true".The default is "true".
useLegacySerializationGenerationuseLegacySerializationGeneration 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.Specifies whether the XmlSerializer uses legacy serialization generation which generates assemblies by writing C# code to a file and then compiling it to an assembly. Der Standardwert ist FALSE.The default is false.

Untergeordnete ElementeChild Elements

KeineNone.

Übergeordnete ElementeParent Elements

ElementElement BeschreibungDescription
<system.xml.serialization>-Element<system.xml.serialization> Element Enthält Konfigurationseinstellungen für die XmlSerializer-Klasse und die XmlSchemaImporter-Klasse.Contains configuration settings for the XmlSerializer and XmlSchemaImporter classes.

HinweiseRemarks

Standardmäßig bietet XmlSerializer eine zusätzliche Sicherheitsebene, um mögliche Denial-of-Service-Angriffe beim Serialisieren nicht vertrauenswürdiger Daten zu verhindern.By default, the XmlSerializer provides an additional layer of security against potential denial of service attacks when deserializing untrusted data. Hierzu wird während der Deserialisierung versucht, Endlosschleifen zu erkennen.It does so by attempting to detect infinite loops during deserialization. Wenn eine solche Bedingung erkannt wird, wird eine Ausnahme mit der folgenden Meldung ausgelöst: "Interner Fehler: Fehler bei der Deserialisierung, fahren Sie fort, über die zugrunde liegenden Stream."If such a condition is detected, an exception is thrown with the following message: "Internal error: deserialization failed to advance over underlying stream."

Diese Meldung bedeutet nicht unbedingt, dass gerade ein Denial-of-Service-Angriff ausgeführt wird.Receiving this message does not necessarily indicate that a denial of service attack is in progress. 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.In some rare circumstances, the infinite loop detection mechanism produces a false positive and the exception is thrown for a legitimate incoming message. Wenn in Ihrer Anwendung zulässige Meldungen durch diese zusätzliche Sicherheitsebene verweigert werden, legen Sie das checkDeserializeAdvances-Attribut auf FALSE fest.If you find that in your particular application legitimate messages are being rejected by this extra layer of protection, set checkDeserializeAdvances attribute to "false".

BeispielExample

Im folgenden Codebeispiel wird das checkDeserializeAdvances-Attribut auf FALSE festgelegt.The following code example sets the checkDeserializeAdvances attribute to "false".

<configuration>  
  <system.xml.serialization>  
    <xmlSerializer checkDeserializeAdvances="false" />  
  </system.xml.serialization>  
</configuration>  

Siehe auchSee also