기본 쿼리를 처리하는 WCF 서비스가 있습니다. 나는 기본적으로 박스 바인딩 (WSHttpBinding with default values)의 디폴트로 시작했다.WCF 바인딩 미세 조정
데이터 계약은 맞춤 개체 배열에 대한 것이며 각 개체의 크기는 약 6k입니다. 최대 5 개까지 (단일 트랜잭션으로) 보내면 정상적으로 작동합니다. 6 이상을 보내려고하면 다음 오류가 발생합니다.
"원격 서버에서 (400) 잘못된 요청을 반환했습니다."
나는 바인딩 일부를 연구하고,이 같은 클라이언트의 구성을 설정하려고 :
나는 유사 서비스 web.config 파일에 구성을 설정<binding name="WSHttpBinding_IASRService" closeTimeout="00:10:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
bypassProxyOnLocal="false" transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="50000000" maxReceivedMessageSize="50000000"
messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="50000000" maxStringContentLength="50000000"
maxArrayLength="50000000" maxBytesPerRead="50000000"
maxNameTableCharCount="50000000" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
</binding>
그러나, 문제가 지속.
또한 app.config를 messageEncoding = "Mtom"으로 설정하려고 시도했지만 바인딩이 클라이언트와 서버간에 일치하지 않을 수 있다는 다른 바인딩 오류가 발생하여 지금 당장이를 제거했습니다. (Mtom이 서버 web.config에서도 지정되었지만) 또한 연구에서 각 바인딩 속성에 대해 명확한 간단한 설명을 찾지 못했습니다. 요약
, 나는 다음과 같은 질문에 대답하기 위해 노력하고있어 :- 큰 요청이 잘못된 요청 오류를 생성하지 얻을하는 방법 오류
- 를 생성하지 않고 MTOM에 클라이언트를 설정하는 방법
- 바인딩 속성 각각에 대해 좋은 기본 참조가 있고이를 사용하는 방법이 있습니까?
이 내용은 서버 측 web.config 파일을 변경하는 경우에만 적용됩니까? – alchemical
예, WCF 매개 변수와 관련된 섹션을 변경하는 경우 – vidalsasoon