已超过传入消息(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>