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 @   翁玉礼  阅读(4656)  评论(10编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示