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

你可能感兴趣的:(WCF)