C# 最大接收消息大小不起作用



我在项目中引用了这个源服务,调用它时出现以下错误:

已超出传入邮件的最大邮件大小配额 (65536(。若要增加配额,请在相应的绑定元素上使用 MaxReceivedMessageSize 属性

所以我在 Web 配置中修复了我的绑定,如下所示:

<client>
<endpoint address="MY SERVICE ADDRESS"
binding="basicHttpBinding" bindingConfiguration="MyBinding"
contract="MyContract" name="MyImplPort" />
</client>

在绑定中:

<bindings>
<basicHttpBinding>
<binding name="MyBinding" maxBufferPoolSize="2000000000"
maxBufferSize="2000000000" maxReceivedMessageSize="2000000000"/>
</basicHttpBinding>
</bindings>

但是我仍然收到相同的错误。
有没有办法解决这个问题?

您是否增加了读者配额

readerQuotas定义了对 SOAP 消息复杂性的约束,这些消息可由配置绑定的终结点处理。

喜欢这个:

<binding name="MyBinding" maxBufferPoolSize="2000000000"
maxBufferSize="2000000000" maxReceivedMessageSize="2000000000">
<readerQuotas maxDepth="32" 
maxArrayLength="200000000"
maxStringContentLength="200000000"/>
</binding>

您没有提到在发送请求或接收响应时是否收到此错误。如果是在收到响应时,则限制对应于您已经设置的客户端。如果在发送请求时收到此错误,则此限制位于服务器端,您需要在服务器端增加限制。

下面是一个示例

相关内容

  • 没有找到相关文章