배열 크기 제한; 예상 된 응답으로 서비스가 반환됩니다. 어떤 시점에서 전달 된 배열이 너무 커서 (2000 항목에서 보임) 이 던졌습니다. "{"The remote server returned an unexpected response: (400) Bad Request."}"
WCF 서비스 - I의 크기가 1,000 이하의 IEnumerable을 전달하는 경우 구성 작품 같은 IEnumerable을</p> <pre><code>[OperationContract] List<Item> GetItems(DateTime sinceDate, IEnumerable<Guid> idList); </code></pre> <p>방법을 전달됩니다 내가 구현 한 WCF 서비스 방법을
배열 크기 제한을 관리하는 것이 확실하지 않습니다. 나는 바인딩의 readerQuotas 섹션을 알고 있고 maxArrayLength는 기본 16384로 설정되어 있습니다. 버퍼 크기는 충분히 크게 설정되어 있지만 서비스 호출이 실패하는 이유를 모르겠습니다. 전달되는 배열 크기에 대한 basicHttpBinding에 제한이 있습니까? 대형 배열을 전달할 수 있도록 구성에서 변경해야하는 사항은 무엇입니까?
여기 내 app.config는 클라이언트 측에 있습니다. 서버 쪽은 동등한 것입니다.
<binding name="BasicHttpBinding_IMyService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="20000000" maxBufferPoolSize="524288" maxReceivedMessageSize="20000000"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
모든 데이터를 전송할 수 있도록 제한 시간 옵션을 늘리려고 했습니까? http://msdn.microsoft.com/en-us/library/system.servicemodel.basichttpbinding.aspx – CheGueVerra
maxItemsInObjectGraph 속성을 아래와 같이 설정 했습니까? 또한 readerQuotas의 값을 큰 값으로 설정하십시오. 그들이 클라이언트와 서버 측 모두에서 설정되어 있는지 확인하십시오. – Rajesh