2013-05-11 2 views
1

Я прочитал на msdn, что атрибут maxStringContentLength из readerQuotas для клиента WCF означает:Что читает readerQuotas -> maxStringContentLength в точности относится к?

Положительное целое число, которое задает максимальное количество символов, разрешенных в содержании XML элемента. Значение по умолчанию - 8192.

Я, вероятно, немного толстый, но на что именно они ссылаются при описании содержимого XML-элементов? Это содержимое в одном элементе XML? И будет ли он включать любые вложенные дочерние элементы? Или это предел каждого элемента только без вложенных элементов?

E.g. в следующем составе:

<a> 
<b>baap</b> 
<c>beep</c> 
</a> 

помечать ли причиной переполнения из maxStringContentLength если BAAP и звуковой сигнал вместе были за предел? Или будет только b или c причиной, если их соответствующее содержимое превысило лимит? Или я совсем чего-то не хватает?

Спасибо всем!

ответ

1

From the MSDN:

MaxStringContentLength Эта квота ограничивает максимальный размер строки, что возвращается читатель XML. Эта квота не ограничивает потребление памяти в самом читателе XML, а в компоненте, использующем считыватель . Например, когда DataContractSerializer использует считыватель , защищенный с помощью MaxStringContentLength, он не десериализует строки , превышающие эту квоту. При непосредственном использовании класса XmlDictionaryReader не все методы учитывают эту квоту, а только методы , которые специально предназначены для чтения строк, например, метод ReadContentAsString . Свойство Value на считывателе не является , затронутым этой квотой, и поэтому не должно использоваться, если необходима защита , предоставленная этой квотой.

Он ограничивает максимальный размер возвращаемой строки, либо строку XML, либо метод, который возвращает строку.