title: WCF callback timeout and Visual Studio catastrophic failure
body: <p>A kind of stupid error, but this happened when I wanted to call client by server-side-service (WCF Duplex):</p>
  
  <blockquote>
    <p>The message could not be transferred within the allotted wcf callback timeout of 00:01:00, There was no space available in the reliable channel's transfer window</p>
  </blockquote>
  
  <p>Also something <code>mysterious happened too</code>. In the login method when I called service if user and password be wrong I find sender-callback and then call <code>GetError</code> method on sender to show logical error like "User is wrong". This works well, but if user and password is correct and have access, I got that error (same for all other client-side methods - in all these methods I send more data than simple strings, I was send geterror) !</p>
  
  <p><strong>Edit 2:</strong> As I say in most of the callback methods, I was send data like data-context (LINQ to SQL) data-class (list or single row). So might this be my problem or not!<br>
  (But this isn't my first time, using WCF-duplex, also with send data-struct in callback methods , I'm so astounding.)</p>
  
  <p>Also after that error I got this error on, </p>
  
  <blockquote>
    <p>Screen unable to process request from service <a href="http://server:15450/service.svc" rel="nofollow">http://server:15450/service.svc</a> catastrophic failure</p>
  </blockquote>
  
  <p><strong>Edit 3:</strong>
  Service configuration:</p>
  
  <pre><code> &lt;system.serviceModel&gt;
      &lt;services&gt;
        &lt;service name="ContactServer.Business.ContactService"
                 behaviorConfiguration="ServiceBehavior"&gt;
          &lt;endpoint address=""
                    binding="wsDualHttpBinding"
                    contract="ContactServer.Business.IContactService"&gt;
            &lt;identity&gt;
              &lt;dns value="localhost"/&gt;
            &lt;/identity&gt;
          &lt;/endpoint&gt;
          &lt;endpoint address="mex"
                    binding="mexHttpBinding"
                    contract="IMetadataExchange"
                    name="MexBinding"/&gt;
        &lt;/service&gt;
      &lt;/services&gt;
      &lt;behaviors&gt;
        &lt;serviceBehaviors&gt;
          &lt;behavior name="ServiceBehavior"&gt;
            &lt;serviceMetadata httpGetEnabled="true"/&gt;
            &lt;serviceDebug includeExceptionDetailInFaults="true"/&gt;
          &lt;/behavior&gt;
        &lt;/serviceBehaviors&gt;
      &lt;/behaviors&gt;
    &lt;/system.serviceModel&gt;
  </code></pre>
  
  <p>and <strong>Client Config</strong>  </p>
  
  <pre><code>  &lt;system.serviceModel&gt;
      &lt;bindings&gt;
        &lt;wsDualHttpBinding&gt;
          &lt;binding name="WSDualHttpBinding_ContactService" closeTimeout="00:01:00"
            openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
            bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
            maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"
            textEncoding="utf-8" useDefaultWebProxy="true"&gt;
            &lt;readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
              maxBytesPerRead="4096" maxNameTableCharCount="16384" /&gt;
            &lt;reliableSession ordered="true" inactivityTimeout="00:10:00" /&gt;
            &lt;security mode="Message"&gt;
              &lt;message clientCredentialType="Windows" negotiateServiceCredential="true"
                algorithmSuite="Default" /&gt;
            &lt;/security&gt;
          &lt;/binding&gt;
        &lt;/wsDualHttpBinding&gt;
      &lt;/bindings&gt;
      &lt;client&gt;
        &lt;endpoint address="http://localhost:1408/ContactService.svc"
          binding="wsDualHttpBinding" bindingConfiguration="WSDualHttpBinding_ContactService"
          contract="ServiceReference.ContactService" name="WSDualHttpBinding_ContactService"&gt;
          &lt;identity&gt;
            &lt;dns value="localhost" /&gt;
          &lt;/identity&gt;
        &lt;/endpoint&gt;
      &lt;/client&gt;
    &lt;/system.serviceModel&gt;
  </code></pre>
  
  <p><strong>More information:</strong> I use .NET 3.5 and Visual Studio 2010. Also after rising timeout on the client side I still got the same error, <code>with 00:01:00 Time</code>. Why did this happen?</p>