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