我检查了MVC 4.0中的System.Web.Mvc.AsyncController,它的注释“提供了与ASP.NET MVC 3的向后兼容性”。这是否意味着MVC 4中有一个新的异步控制器实现?什么是MVC 4.0中的正确方法启用异步控制器以便将I / O密集操作放在IIS请求线程池以外的其他线程池中?
答案 0 :(得分:12)
从ASP.NET MVC 4开始,您现在可以使用System.Web.Mvc.Controller
类作为基类并利用TAP(基于任务的异步模式):
public async Task<ViewResult> Index() {
return View(await GetThingsAsync());
}
请注意,您不必使用C#5.0附带的async
和await
关键字,但它们可以使异步编程更加轻松,更易于维护。
查看以下文章: