使用Async方法进行长时间运行过程不允许其他进程启动(ASP.net MVC)

时间:2016-07-22 06:48:54

标签: asp.net asp.net-mvc asynchronous

我已经编写了一个Web应用程序(ASP.net MVC)。单击按钮时,将调用以下函数:

[HttpPost]
public async Task<JsonResult> ProcessDrift()
{
    Task task = await Task.WhenAny(ProcessAsyncDrift());
    return Json(new { result = "ok"}, JsonRequestBehavior.AllowGet);
}

public async Task ProcessAsyncDrift()
{
    await Task.Run(() =>
    {
        LongRunningProcess();
    });
}

我在本地服务器上测试过,它运行良好,但是当我在服务器上测试它(Windows 2012 R2)时,点击按钮后,我无法打开任何其他网站页面(在同一浏览器中),直到进程完了。

我该怎么办?

0 个答案:

没有答案