This documentation is archived and is not being maintained.

XmlDictionaryReaderQuotas::MaxBytesPerRead Property

Gets and sets the maximum allowed bytes returned for each read.

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

property int MaxBytesPerRead {
	int get ();
	void set (int value);

Property Value

Type: System::Int32
The maximum allowed bytes returned for each read. The default is 4096.


Trying to set the value, but quota values are read-only for this instance.


Trying to set the value to less than zero.

This quota limits the number of bytes that can be consumed by the reader during a single call to Read().

This quota is an approximation, because transformations in the encoding layer happen before this quota is applied. This quota is closely tied to the number of bytes received on the wire at the transport level, but its purpose is to control the quantity of data we receive for each read. In practice, it is used to limit the size of start tags. Because the entire start tag must be buffered to be processed (attributes uniqueness must be verified), the size must be limited to mitigate DOS attacks.

Instances created with the public constructor have properties that can be set.

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.