WCF传输List<object>时序列化问题

WCF传输大数据量List的解决方案
本文描述了在使用WCF传输大量用户集合时遇到的CommunicationException问题,并详细介绍了如何通过修改配置文件来提高可序列化集合的大小限制。

今天使用WCF传输用户集合时出现了一个诡异的错误:

System.ServiceModel.CommunicationException: 服务器未提供有意义的回复;这可能是由协定不匹配、会话过早关闭或内部服务器错误引起的。

百思不得其解,在数次尝试后,发现应该不会是协定不匹配或者会话关闭,于是尝试将传输的List<User>变小,当List<User>变的很小时变不再出现这个问题,于是到网上查了一下,原来WCF传输List集合时,在序列化时是有大小限制的,默认的可序列化的集合长度是65536,如果List的大小超出这个值就需要更改了配置了,在服务器端的behavior配置中增加一行配置即可解决

 

<behavior name="JXSoft.JPlan.WCFService.Behavior">

          <serviceMetadata/>

          <serviceDebug includeExceptionDetailInFaults="false" />

          <dataContractSerializer maxItemsInObjectGraph="6553600"/>

        </behavior>

 

 

BTW;WCF是很强大,但是有些错误提示还真让人很迷惑,太宽泛了。

转载于:https://www.cnblogs.com/GuoQiBuHou/archive/2012/12/05/2802852.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值