2016-07-13 1 views
2

WCF 서비스를 참조하는 Windows 양식이 있습니다. 모든 것이 잘 작동하지만 때로는 시간 초과가 발생했다는 오류가 발생합니다. 나는 fora 해결책을 찾으려고 노력했다. 그러나 그 아이디어는 그렇게 명확하지 않아서 어떤 도움도 인정 될 것이다. 내가 시간을에 관하여 아무것도를 추가해야 WCF 웹 설정에서Windows Form Timing Out에서 참조되는 WCF

<basicHttpBinding> 
     <binding name="myBasicBinding" closeTimeout="00:51:00" openTimeout="00:51:00" 
      receiveTimeout="00:30:00" sendTimeout="00:51:00" hostNameComparisonMode="StrongWildcard" 
      maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" 
      transferMode="Streamed"> 
      <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> 
     <binding name="BasicHttpBinding_IService1" /> 
     </basicHttpBinding> 


<client> 
<endpoint address="wcf URL" 
     binding="basicHttpBinding" bindingConfiguration="myBasicBinding" 
     contract="ServiceNew.IService1" name="BasicHttpBinding_IService1" /> 
    </client> 

: 창문에

내가 바인딩이 방법을 추가 app.config 파일을 형성?

또한 많은 양의 바이트를 보내고 있으므로 전송 된 데이터의 크기와 시간이 모두 걱정됩니다. 그러나 시간 초과는 통화 중 몇 초 후에 발생하는 경우가 있습니다.

+0

receiveTimeout –

+0

의 30 분 증가, 그리고 내가 시간을 말했듯이 후 무슨 일이 일어나고 시도 때때로. –

+0

WCF 서비스가 데이터베이스에 연결되어 있거나 시간 초과를 유발할 수있는 다른 작업을 수행합니까? 또한 서비스를 얼마나 많은 고객이 사용하고 있습니까? 트래픽 양이 많습니까? – Duanne

답변

0

여기에는 여러 가지 이유가있을 수 있습니다. 예를 들어, Windows 이벤트 로그가 꽉 찼을 수 있습니다. 보안 프로토콜 및 핸드 셰이크가 완료되지 않은 상황에서이 점을 경험했습니다. 당신은 진단 추적 등을 가능하게한다 :

<system.diagnostics> 
<sources> 
    <source name="System.ServiceModel" switchValue="Information,ActivityTracing" propagateActivity="true"> 
     <listeners> 
      <add name="xml" /> 
     </listeners> 
    </source> 
    <source name="System.ServiceModel.MessageLogging"> 
     <listeners> 
      <add name="xml" /> 
     </listeners> 
    </source> 
</sources> 
<sharedListeners> 
    <add initializeData="C:\logs\TracingAndLogging-client.svclog" type="System.Diagnostics.XmlWriterTraceListener" name="xml" /> 
</sharedListeners> 
<trace autoflush="true" /> 

예를 들어 다음과 같은 링크를 살펴 보자 http://www.andyfrench.info/2010/11/wcf-service-throwing-immediate-timeout.html