什么是<;readerQuotas>;WCF绑定中

本文关键字:WCF 绑定 gt readerQuotas lt 什么 | 更新日期: 2023-09-27 17:58:24

我浏览了这个MSDN链接,但无法获得足够的详细信息

有人能用一个场景来解释我在哪里以及为什么需要设置这个值吗。

当我试图将数据合约对象发送到服务方法时,遇到了此设置,并且出现异常远程服务器返回了一个错误:未找到

我的数据合约具有List<>属性,如果列表中包含7个对象,则会出现异常。如果列表中有6个对象,它可以正常工作。

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

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

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

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

数据合约对象到达服务进行处理。

什么是<;readerQuotas>;WCF绑定中

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

其想法是,服务提交尽可能少的资源来为请求提供服务(如果超过给定的限制),以帮助抵御拒绝服务攻击(DDOS)。

请注意,readQuota限制可以在服务器和客户端上设置。这使得客户端能够受到保护,免受欺诈服务器的攻击,同时也保护了服务器。