3

オブジェクトのリストを受け取る Web 参照でサービスを呼び出しています。List<T>
約 13000 までのリストは正常に機能しますが、リストの長さが 13000 を超えてサービスが呼び出されると、次のエラーがスローされます
。クローズ: 受信時に予期しないエラーが発生しました。

また、文字列を受け取り、オブジェクトの長いリストを返すサービスで非常によく似たエラーが発生しました (基礎となる接続が閉じられました: 接続が予期せず閉じられました ) (ここで確認できるように)。 web.config を変更しましたが、リストをパラメーターとして受け取るサービスのエラーは解決されず、オブジェクトの長いリストを返すことができるように機能するだけです

私はバインディングにこれを持っています:

<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 参照のサービスに送信できるようにする必要があります

4

1 に答える 1

0

オブジェクトの大きな配列をたとえば 3 つまたは 4 つの部分に分割し、その都度 Web サービス経由でそれらの 1 つを送信するとしたらどうでしょうか?

于 2012-11-22T17:19:48.933 に答える