什么是WCF绑定中的<readerquotas>?</readerquotas>

时间:2011-06-06 07:48:08

标签: c# wcf wcf-binding

I gone through this MSDN link but could not get enough details

任何人都可以向我解释我需要设置此值的方案和原因。

当我尝试将数据合同对象发送到服务方法并且异常时,我遇到了设置远程服务器返回错误:未找到。

我的数据合同具有List&lt;&gt;属性,如果列表包含7个对象,它与6个对象一起正常工作,则会出现异常。

我猜这是数据合约大小的问题。

当我在配置文件中更改绑定时

<readerQuotas maxDepth="64" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="4096" />

<readerQuotas maxDepth="128" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="4096" />

数据合同对象已到达服务部门进行处理。

1 个答案:

答案 0 :(得分:10)

readerQuota设置用于限制属性指定的绑定。如果请求超过任何这些限制,WCF服务将自动拒绝该请求(我认为通信栈非常低),尽可能少处理请求。

这个想法是服务提交尽可能少的资源来服务请求(如果它超过给定的限制)以帮助抵挡Denial-of-Service attacks - DDOS

请注意,可以在服务器和客户端上设置readQuota限制。这样可以保护客户端免受欺诈性服务器的侵害,并保护服务器。