title: MVC 3 - How to RedirectToAction immediately after asynchronous WCF call
body: <p>How do i get my MVCcontroller method to call a long running WCF task asynchronously and redirect immediately after the asynchronously call is fired?</p>
  
  <p>I have configured my WCF service reference to "Generate asynchronously operations" yet when the method is called i can see in the debugger that code steps through and <strong>passes</strong> the "RedirectToAction("RedirectToActionTestCompleted")" line but the browser does not redirect until the WCF task is finished.</p>
  
  <pre><code>public class HomeController : Controller
  {
      public ActionResult Index()
      {
          return View();
      }
  
      public ActionResult About()
      {
          return View();
      }
  
      public ActionResult RedirectToActionTest()
      {
          Service1Client client = new Service1Client();
          client.TestWcfCallAsync();
          return RedirectToAction("RedirectToActionTestCompleted");
      }
  
      public ActionResult RedirectToActionTestCompleted()
      {
          return View();
      }
  }
  </code></pre>
  
  <p>And the WCF service method</p>
  
  <pre><code>public void TestWcfCall()
  {
      Thread.Sleep(30000); //30 seconds
  }
  </code></pre>
  
  <p>Why is the web page waiting for the WCF method to complete?</p>