Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

XmlReaderSettings.MaxCharactersInDocument-Eigenschaft

Aktualisiert: November 2007

Ruft einen Wert ab, der die maximale zulässige Anzahl von Zeichen in einem XML-Dokument angibt, oder legt diesen fest. Der Wert 0 (null) gibt an, dass die Größe des XML-Dokuments nicht beschränkt ist. Ein Wert ungleich 0 (null) gibt die maximale Größe in Zeichen an.

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)

public long MaxCharactersInDocument { get; set; }
/** @property */
public long get_MaxCharactersInDocument()
/** @property */
public  void set_MaxCharactersInDocument(long value)

public function get MaxCharactersInDocument () : long
public function set MaxCharactersInDocument (value : long)

Eigenschaftenwert

Typ: System.Int64
Die maximale zulässige Anzahl von Zeichen in einem XML-Dokument. Der Standardwert ist 0.

Der Wert 0 (null) gibt an, dass die Anzahl von Zeichen im analysierten Dokument nicht beschränkt ist. Ein Wert ungleich 0 (null) gibt die maximale Anzahl von Zeichen an, die analysiert werden können.

Die maximale Zeichenanzahl für das Dokument schließt die Anzahl von Zeichen ein, die beim Erweitern von Entitäten entstehen.

Wenn der Leser versucht, ein Dokument mit einer Größe zu lesen, die den Wert dieser Eigenschaft überschreitet, wird eine XmlException ausgelöst.

Diese Eigenschaft ermöglicht es, Denial-of-Service-Angriffe zu verringern, bei denen der Angreifer extrem große XML-Dokumente übermittelt. Durch Beschränken der Größe können Sie den Angriff erkennen und eine zuverlässige Wiederherstellung vornehmen.

Folgender Code legt diese Eigenschaft fest und versucht dann, ein Dokument zu analysieren, das die Beschränkung überschreitet. Unter realen Bedingungen legen Sie diese Beschränkung auf einen Wert fest, der groß genug ist, um gültige Dokumente behandeln zu können, und klein genug, um die Bedrohung durch mit bösartiger Absicht erstellte Dokumente zu mindern.

string markup = "<Root>Content</Root>";
 
XmlReaderSettings settings = new XmlReaderSettings();
settings.MaxCharactersInDocument = 10;
 
try
{
    XmlReader reader = XmlReader.Create(new StringReader(markup), settings);
    while (reader.Read()) { }
}
catch (XmlException ex)
{
    Console.WriteLine(ex.Message);
}

Dieser Code erzeugt die folgende Ausgabe:

There is an error in XML document (MaxCharactersInDocument, ).

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5 SP1, 3.0 SP1, 2.0 SP1
Anzeigen: