title: net.tcp binding with streamed transfer mode = Framing mode Singleton is not supported
body: <p>I'm trying to implement a fire-and-forget pattern in a WCF method. I have this working in my local environment, but running into an issue when running on IIS7.</p>
  
  <p>I'm  using net.tcp binding, and discovered that even when using a one-way call with this binding, closing the proxy will block the UI (in this case an asp.net website) until the operation completes. I changed the transfer mode to streamed so that closing the proxy will not cause a wait, as suggested in <a href="http://bloggingabout.net/blogs/gerben/archive/2010/02/01/wcf-best-practice-5-one-way-is-not-always-really-one-way.aspx" rel="nofollow">this article</a>.</p>
  
  <p>As I mentioned, this is working when I run on localhost, but when I deploy to IIS7, I'm getting this error as soon as i hit the page which utilizes the contract method:</p>
  
  <blockquote>
    <p>"Framing mode Singleton is not supported."</p>
  </blockquote>
  
  <p>If I change the binding's <code>transferMode</code> attribute to <em>'Buffered'</em>, I don't get the error, but I'm back to my original problem of having closing the proxy block until the service operation completes</p>
  
  <p>Any help would be greatly appreciated.</p>
  
  <p>My Code:</p>
  
  <pre><code>// Operation Contract
  [OperationContract(Name = "LoadNewDataset", IsOneWay = true)]
  void LoadDataset(Workspace workspace, Connection connection, string dataSetName);
  
  // WCF Config snippets:
  &lt;bindings&gt;
    &lt;netTcpBinding&gt;
      &lt;binding name="NetTcpStreamBinding" 
               transferMode="Streamed"&gt;
      &lt;/binding&gt;
    &lt;/netTcpBinding&gt;
  &lt;/bindings&gt;
  
  ....
  
  &lt;endpoint address="DataImportService" binding="netTcpBinding"
    bindingConfiguration="NetTcpStreamBinding" name="DataImportEndpoint"
    contract="MediaBrands.Adroit.WCF.IDataImportService" /&gt;
  
  
  //Website web.config 
  &lt;bindings&gt;
    &lt;netTcpBinding&gt;
      &lt;binding name="DataImportEndpoint" closeTimeout="00:10:00" openTimeout="00:01:00"
        receiveTimeout="00:10:00" sendTimeout="00:10:00" transferMode="Streamed"
        hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288"
        maxBufferSize="5242880" maxReceivedMessageSize="5242880"&gt;
        &lt;readerQuotas maxDepth="32" maxStringContentLength="65536" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" /&gt;
        &lt;security mode="Transport"&gt;
          &lt;transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" /&gt;
        &lt;/security&gt;
      &lt;/binding&gt;
  
  ....
  
      &lt;endpoint address="net.tcp://localhost:8001/AdroitWcf/DataImportService"
        binding="netTcpBinding" bindingConfiguration="DataImportEndpoint"
        contract="AdroitServiceReference.IDataImportService" name="DataImportEndpoint"&gt;
      &lt;/endpoint&gt;
  </code></pre>