Using Async method for long runnning process does not allow other process start (ASP.net MVC)
<p>I have written a web application (ASP.net MVC). When I click a button, the following function is called:</p>

<pre class="lang-cs prettyprint-override"><code>[HttpPost]
public async Task&lt;JsonResult&gt; ProcessDrift()
{
    Task task = await Task.WhenAny(ProcessAsyncDrift());
    return Json(new { result = "ok"}, JsonRequestBehavior.AllowGet);
}

public async Task ProcessAsyncDrift()
{
    await Task.Run(() =&gt;
    {
        LongRunningProcess();
    });
}
</code></pre>

<p>I tested it on local server, it works well, but when I test it on server ( windows 2012 R2), after clicking the button, I can not open any other page of site (in the same browser) until the process is finished. </p>

<p>What should I do?</p>