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

今天使用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是很强大,但是有些错误提示还真让人很迷惑,太宽泛了。 

 

posted @ 2010-10-14 16:19  翁玉礼  阅读(4648)  评论(10编辑  收藏  举报