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
输了你,赢了世界又如何...