从WCF返回通用列表时的异常

时间:2010-08-06 15:51:51

标签: c#

嗨,我陷入了奇怪的问题,

我有一个通用列表List<Accounts>它是从数据库中填充的,然后这个列表将返回给客户端。

当列表包含超过3000个项目时,它会抛出异常。

我在web.config

中设置了以下值
maxDepth="2147483647" 
maxStringContentLength="2147483647" 
maxArrayLength="2147483647" 
maxBytesPerRead="2147483647" 
maxNameTableCharCount="2147483647" 

2 个答案:

答案 0 :(得分:1)

正如Kirk所提到的,尝试在配置中添加类似于以下内容的行为:

<behaviors>
<endpointBehaviors>
<behavior name="MyService.MyServiceBehavior">
 <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</endpointBehaviors>
</behaviors>

如果这对您有用,那么请不要将我标记为正确,Kirk你添加一个答案我会删除这个

答案 1 :(得分:0)

以下是您可以尝试的一些解决方案:

  • 你很有可能遇到超时问题。尝试将客户端和服务器上绑定的超时时间设置为高于1分钟(默认值)。
  • 在DataContractBehavior中增加maxItemsInObjectGraph。

否则,请编辑您的问题,以包含您获得的例外信息以及可能相关的任何其他信息。