2012-06-28 3 views
1

현재 WCF 서비스에 연결합니다. 현재 간헐적 인 CommunicationExceptions이 발생하고 있습니다.WCF 서비스 - 클라이언트 수신 CommunicationException

-> 예외 (CommunicationException) System.ServiceModel.CommunicationException : 서버에서 잘못된 SOAP 오류를 반환했습니다. 자세한 내용은 InnerException을 참조하십시오. ---> System.Xml.XmlException : XML 데이터를 읽는 동안 최대 문자열 내용 길이 할당량 (8192)이 초과되었습니다. XML 판독기를 만들 때 사용되는 XmlDictionaryReaderQuotas 개체의 MaxStringContentLength 속성을 변경하면이 할당량을 늘릴 수 있습니다.

이미

2147483647 아직도 간헐적으로 이러한 오류를 얻기에 MaxStringContentLength를 설정하는 내 config 파일을 업데이트했습니다.

무엇이 원인 일 수 있습니까? 사전에

감사합니다, 피오나하여 config 파일에서 바인딩 는 다음 업데이트는

:

<binding name="BasicHttpBinding_ServiceInterface" closeTimeout="00:01:00" 
      openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
      allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
      maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" 
      messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
      useDefaultWebProxy="true"> 
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" 
      maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /> 
      <security mode="Message"> 
      <message clientCredentialType="Certificate"/> 
      </security> 
     </binding> 

답변

0
또한 Binding.MaxArrayLength, ReaderQuotas.MaxBytesPerRead로 설정해야

제대로 작동하게하십시오.

+0

감사합니다. DrakeVN. 원래 바인딩에서 다른 Binding 값도 업데이트해야한다고 언급 했어야합니다. 내 바인딩을 포함하는 내 업데이트를 참조하십시오. – Fiona

+0

서비스를 제어 할 수 있습니까? 대부분 클라이언트의 설정이 괜찮으므로 서비스 설정이 올바르지 않을 수도 있습니다. 서비스에 대한 테스트 메소드를 만든 다음 8192 바이트 이상의 큰 데이터 블록을 반환 할 수 있습니까? 나는 당신이 예외를 복제 할 수 있어야한다고 생각한다. –

관련 문제