XmlReaderSettings.MaxCharactersInDocument Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Lekéri vagy beállítja az XML-dokumentumokban megengedett karakterek maximális számát jelző értéket. A nulla (0) érték azt jelenti, hogy nincs korlátozva az XML-dokumentum mérete. A nem nulla érték karakterekben adja meg a maximális méretet.
public:
property long MaxCharactersInDocument { long get(); void set(long value); };
public long MaxCharactersInDocument { get; set; }
member this.MaxCharactersInDocument : int64 with get, set
Public Property MaxCharactersInDocument As Long
Tulajdonság értéke
Az XML-dokumentumokban megengedett karakterek maximális száma. Az alapértelmezett érték a 0.
Példák
Az alábbi kód beállítja ezt a tulajdonságot, majd megkísérli elemezni a korlátnál nagyobb dokumentumot. Egy valós forgatókönyvben ezt a korlátot olyan értékre állítaná be, amely elég nagy az érvényes dokumentumok kezeléséhez, de elég kicsi ahhoz, hogy korlátozza a rosszindulatú dokumentumok fenyegetését.
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);
}
Dim markup As String = "<Root>Content</Root>"
Dim settings As XmlReaderSettings = New XmlReaderSettings()
settings.MaxCharactersInDocument = 10
Try
Dim reader As XmlReader = XmlReader.Create(New StringReader(markup), settings)
While (reader.Read())
End While
Catch ex As XmlException
Console.WriteLine(ex.Message)
End Try
Ez a kód a következő kimenetet állítja elő:
There is an error in XML document (MaxCharactersInDocument, ).
Megjegyzések
A nulla (0) érték azt jelenti, hogy nincs korlátozva az elemzett dokumentum karaktereinek száma. A nem nulla érték határozza meg az elemezhető karakterek maximális számát.
A dokumentum maximális karakterszáma tartalmazza a kibontott entitásokból származó karakterek számát.
Ha az olvasó olyan dokumentumot próbál elolvasni, amelynek mérete meghaladja ezt a tulajdonságot, a rendszer egy XmlException olyan dokumentumot küld, amely meghaladja ezt a tulajdonságot.
Ez a tulajdonság lehetővé teszi a szolgáltatásmegtagadási támadások mérséklését, ha a támadó rendkívül nagy XML-dokumentumokat küld el. A dokumentum méretének korlátozásával észlelheti a támadást, és megbízhatóan helyreállhat.