3
我在Web Reference上調用了一個服務,它接收到一個對象列表List<T>
它可以很好的列表到大約13000,但是當長度列表超過13000並且服務被調用它會拋出以下錯誤:
底層連接已關閉:接收時發生意外錯誤。在接收一個字符串並返回一個對象的一個長長的清單(你可以看到一個服務:調用Web參考服務時收到一長串對象的錯誤
我也有一個錯誤非常相似(連接被意外關閉基礎連接已關閉。) here),我已經解決它在web.config中,但它並沒有解決接收列表作爲參數的服務錯誤,它只能用於返回對象的長列表
I有這個綁定:
<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引用
您需要使用WCF流傳輸大量數據從/到WCF服務,因爲它在這裏提到http://stackoverflow.com/questions/4304035/large-data-transfer-using-wcf –
僅供參考,你是不使用「Web參考」。您正在使用「服務參考」。別擔心 - 這是正確的做法,你只是使用了錯誤的術語。 –
您是否增加了客戶端的配額? – paramosh