MVC异步和常规之间的区别

时间:2015-01-15 08:26:00

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

async Task<>之间的区别是什么?没有它?它是否有所作为,这就像使用jquery ajax一样?

   [HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<ActionResult> SetPassword(SetPasswordViewModel model)
    {

        // If we got this far, something failed, redisplay form
        return View(model);
    }

VS

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult SetPassword(SetPasswordViewModel model)
    {

        // If we got this far, something failed, redisplay form
        return View(model);
    }

1 个答案:

答案 0 :(得分:3)

异步控制器方法对于长时间运行的方法很有用。例如,正在进行昂贵的数据库查询或后端服务调用的方法。

与ajax不同。这会导致您的控制器方法在新线程中执行,从而释放线程以供Web服务器处理请求。

我知道这不是最好的描述,但你可以在这里找到更多:

http://msdn.microsoft.com/en-us/library/ee728598%28v=vs.100%29.aspx