11

我检查了 MVC 4.0 中的 System.Web.Mvc.AsyncController,它有注释“提供与 ASP.NET MVC 3 的向后兼容性”。这是否意味着在 MVC 4 中有一个新的异步控制器实现?MVC 4.0 中启用异步控制器以将 I/O 密集操作放在 IIS 请求线程池以外的其他线程池中的正确方法是什么?

4

1 回答 1

14

从 ASP.NET MVC 4 开始,您现在可以使用System.Web.Mvc.Controller该类作为基类并利用 TAP(基于任务的异步模式):

public async Task<ViewResult> Index() { 

     return View(await GetThingsAsync());
}

请注意,您不必使用C# 5.0 附带的asyncawait关键字,但它们使异步编程变得更加容易和可维护。

看看以下文章:

于 2012-11-09T06:51:12.317 回答