I gone through this MSDN link but could not get enough details
谁能给我解释一个场景,我需要在哪里以及为什么需要设置这个值。
当我尝试将数据协定对象发送到服务方法时遇到异常远程服务器返回错误:未找到。,
我的数据契约(Contract)具有 List<> 属性,如果列表包含 7 个对象时出现异常,但它在 6 个对象时工作正常。
我猜这是数据契约(Contract)大小的问题。
当我在配置文件中更改我的绑定(bind)时
<readerQuotas maxDepth="64" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="4096" />
到
<readerQuotas maxDepth="128" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="4096" />
数据契约对象到达服务进行处理。
最佳答案
readerQuota 设置用于限制属性指定的绑定(bind)。如果请求超过任何这些限制,WCF 服务将自动拒绝请求(我认为在通信堆栈上非常低)以尽可能少地处理请求。
想法是服务提交尽可能少的资源来服务请求(如果它超过给定的限制)以帮助抵御 Denial-of-Service attacks - DDOS .
请注意,可以在服务器和客户端上设置 readQuota 限制。这样可以保护客户端免受欺诈性服务器的侵害并保护服务器。
关于c# - WCF 绑定(bind)中的 <readerQuotas> 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6249077/