title: What happens to an asynchronous WCF call when its client disposes or goes out of scope?
body: <p>I am maintaining some code which has a class containing a method that calls a WCF method asynchronously using the Task pattern.</p>
  
  <p>The code effectively looks like this:</p>
  
  <pre><code>public class Manager : IDisposable
  {
      public void DoSomething()
      {
          Task&lt;bool&gt; task;
  
          using (var client = new WcfClient())
          {
              task = client.ReallyDoSomethingAsync(123);
          }
      }
  }
  </code></pre>
  
  <p>The manager itself is used somewhere else in another piece of code that wraps the call to DoSomething inside a using(Manager) block.</p>
  
  <p>So my question is, what happens to the WCF call. Does it happen? Does it abandon? </p>
  
  <p>And more generally, does this hold true for asynchronous calls using the <code>Task&lt;T&gt;</code> pattern? What happens if the owning class goes out of scope before the asynchronous call finishes?</p>