title: ASP.NET MVC5: WCF call locks thread
body: <p>Task: start long-running WCF method and then return JSON about successful start.<br>
  I've tried Task.Run (with both direct and async call) and HostingEnvironment.QueueBackgroundWorkItem and on WCF-side we detect method starting, all is OK, but on MVC side the action runs much longer that needed (few minutes, as example) just like the direct call of service. </p>
  
  <p>So now the code like this </p>
  
  <pre><code>public virtual JsonResult RunSomeTask(string data)
  {
    Task.Run(() =&gt; ourService.LongRunningOne());
  //or
    Task.Run(() =&gt; ourService.LongRunningOneAsync());
  //or
    HostingEnvironment.QueueBackgroundWorkItem((ct) =&gt; ourService.LongRunningOne());
  //or
    HostingEnvironment.QueueBackgroundWorkItem((ct) =&gt; {
      ourService.LongRunningOneAsync();
    });
  
    return Json(new{message = "started"});
  }
  </code></pre>
  
  <p>and it works like just awaits ending of the service call.<br>
  What I'm doing wrong?</p>