2016-07-13 4 views
2

私はWCFサービスを参照するWindowsフォームを持っています。すべてうまくいきますが、時にはタイムアウトが発生したというエラーが表示されることがあります。私は解決策を探すことを試みたが、そのアイデアはあまり明確ではないので、どんな助けもありがたい。 WCFのWeb configに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> 

私は時間をアウトについて何も追加する必要があります。Windowsで

は、私はこの結合方法を追加した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

関連する問題