调用接收长对象列表的Web引用服务时出错

时间:2012-11-22 16:47:01

标签: wcf web-services

我正在调用Web Reference上的服务,该服务接收对象列表List<T>
它可以很好地列出大约13000,但是当列表的长度超过13000并且调用服务时,它会抛出以下错误:
基础连接已关闭:接收时发生意外错误。

我收到一个字符串并返回一个长列表的服务上也出现了一个非常相似的错误( 底层连接已关闭:连接意外关闭。 )对象(你可以看到here),我已经在web.config中解决了它,但它没有解决接收List作为参数的服务的错误,它只能工作返回长对象列表

我在绑定中有这个:

<binding name="customBasicHttp" closeTimeout="00:01:00" 
    openTimeout="00:01:00" receiveTimeout="00:10:00" 
    sendTimeout="00:01:00" allowCookies="false"
    bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
    maxBufferSize="67108864" maxBufferPoolSize="67108864" 
    maxReceivedMessageSize="67108864" messageEncoding="Text" 
    textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
    <readerQuotas maxDepth="32" maxStringContentLength="67108864"
        maxArrayLength="67108864" maxBytesPerRead="5242880"
        maxNameTableCharCount="67108864" />
    <security mode="None" />
</binding>

这就是行为:

<behavior name="EndpointBehaviour">
    <dataContractSerializer maxItemsInObjectGraph="2147483647" />
</behavior>

我需要能够将一长串对象作为参数发送到Web引用中的服务

1 个答案:

答案 0 :(得分:0)

如果您将大型对象分成3个或4个部分,并且每次通过Web服务发送其中一个,该怎么办?