WCF传输过大的数据导致失败的解决办法

WCF传输过大的数据导致失败的解决办法

 

WCF服务默认是不配置数据传输的限制大小的,那么默认的大小好像是65535B,这才65KB左右,如果希望传输更大一些的数据呢,就需要手动指定一下缓冲区的大小了。

主要是为binding设置几个最大值属性就可以了,包括服务端和客户端均进行设置,不过配置都是一样的。

复制代码
<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_ISystemDataService"
                 maxBufferSize="10485760" maxReceivedMessageSize="10485760" />
        <binding name="BasicHttpBinding_ITestService" />
      </basicHttpBinding>
    </bindings>
</system.serviceModel>
复制代码

主要是配置maxBufferSize和maxReceivedMessageSize两个大小,貌似在某种情况下,两个值最好相同,这里就先不深究了,把它俩配上就好了,这里设置了10485760,单位是字节(Byte),也就是10MB。这样大容量的消息就可以发送了。

更多:

http://msdn.microsoft.com/zh-cn/library/system.servicemodel.basichttpbinding.maxbuffersize.aspx

http://msdn.microsoft.com/zh-cn/library/system.servicemodel.basichttpbinding.maxreceivedmessagesize.aspx

原文地址:https://www.cnblogs.com/qq260250932/p/5419824.html