我在msdn上读到,WCF客户端的readerQuotas属性maxStringContentLength意味着:
一个正整数,指定XML元素内容中允许的最大字符。缺省值为8192。
我在这里可能有点厚,但是当提到XML元素内容时,它们究竟指的是什么呢?这是一个XML元素中的内容吗?它是否包括嵌套的子元素?或者,这是每个元素的极限,没有嵌套元素?
例如在以下结构中:
<a>
<b>baap</b>
<c>beep</c>
</a>如果baap和beep一起超过了限制,会不会标记一个maxStringContentLength溢出的原因?或者,如果它们各自的内容超过了限制,那么只有b或c才会导致其中一个?还是我完全错过了什么?
谢谢大家!
发布于 2013-05-11 19:52:06
来自MSDN
MaxStringContentLength此配额限制XML读取器返回的最大字符串大小。此配额并不限制XML读取器本身中的内存消耗,而是限制正在使用该读取器的组件中的内存消耗。例如,当DataContractSerializer使用使用MaxStringContentLength保护的读取器时,它不会反序列化大于此配额的字符串。当直接使用XmlDictionaryReader类时,并不是所有的方法都遵守这个配额,而是只尊重专门为读取字符串而设计的方法,例如ReadContentAsString方法。读取器上的Value属性不受此配额的影响,因此在需要此配额提供的保护时不应使用。
它限制返回的字符串的最大大小,可以是XML字符串,也可以是返回字符串的方法。
https://stackoverflow.com/questions/16501104
复制相似问题