9
我检查了MVC 4.0中的System.Web.Mvc.AsyncController,它有注释“提供与ASP.NET MVC 3的向后兼容性”。这是否意味着MVC 4中有一个新的异步控制器实现? MVC 4.0中的正确方法是什么启用异步控制器,以便将I/O激烈操作放入除IIS请求线程池以外的其他线程池?ASP.NET MVC中的异步控制器
我检查了MVC 4.0中的System.Web.Mvc.AsyncController,它有注释“提供与ASP.NET MVC 3的向后兼容性”。这是否意味着MVC 4中有一个新的异步控制器实现? MVC 4.0中的正确方法是什么启用异步控制器,以便将I/O激烈操作放入除IIS请求线程池以外的其他线程池?ASP.NET MVC中的异步控制器
从ASP.NET MVC 4开始,你现在可以使用System.Web.Mvc.Controller
类的基类,并充分利用TAP(基于任务的异步模式):
public async Task<ViewResult> Index() {
return View(await GetThingsAsync());
}
注意,您不必使用C#5.0附带的关键字async
和await
,但它们使异步编程变得更容易,更容易,更易于维护。
看一看下面的文章:
不'async'和'await'配备了C#4.5,而不是5.0? – Spook
@Spook没有C#4.5:https://en.wikipedia.org/wiki/C_Sharp_(programming_language)#Versions async/await语言支持随C#5.0一起提供,它也需要.NET 4.5。您可以使用.NET 4.0并利用来自BCL团队的NuGet包的异步/等待语言功能:http://www.nuget.org/packages/Microsoft.Bcl.Async/ – tugberk