已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。



问题说明:

客户端调用 WCF 返回数据量大时,局域网没有问题(客户现场发现一台机器有问题,具体原因不详。)发布到外网有问题。


VS2012 Debug 捕获到的异常信息为:在 HTTP 通道上传输数据时发生错误(无法从传输连接中读取数据: 连接已关闭。)。

WCFStorm 工具返回的异常为:已超过传入消息(65536)的最大消息大小配额。若要增加配额,请使用相应绑定元素上的 MaxReceivedMessageSize 属性。

  此时需要在服务端和客户端分别配置有MaxReceivedMessageSize相关属性。

 客户端配置文件如下:

 <bindings>
            <wsHttpBinding>
                <binding name="WSHttpBinding_IService2" maxBufferPoolSize="2147483647"
            maxReceivedMessageSize="2147483647">
                    <security mode="None" />
                </binding>
            </wsHttpBinding> 
        </bindings>



服务端配置文件

  <behavior name="PCServiceEndPointBehavior">
          <dataContractSerializer maxItemsInObjectGraph="999999999" />
   </behavior>