2012-11-09 54 views
9

Tôi đã kiểm tra System.Web.Mvc.AsyncController trong MVC 4.0, nó có nhận xét "Được cung cấp cho khả năng tương thích ngược với ASP.NET MVC 3." điều này có nghĩa là có một triển khai mới của bộ điều khiển async trong MVC 4? cách chính xác trong MVC 4.0 cho phép async một bộ điều khiển để đặt các hoạt động I/O cường độ cao trong nhóm chủ đề khác ngoài nhóm yêu cầu IIS là gì?Bộ điều khiển không đồng bộ trong ASP.NET MVC

Trả lời

12

Bắt đầu từ ASP.NET MVC 4, bây giờ bạn có thể sử dụng lớp System.Web.Mvc.Controller là lớp cơ sở và tận dụng TAP (công tác dựa trên mẫu Asynchronous):

public async Task<ViewResult> Index() { 

    return View(await GetThingsAsync()); 
} 

Lưu ý rằng bạn không cần phải sử dụng asyncawait từ khóa đi kèm với C# 5.0 nhưng chúng tạo lập trình không đồng bộ nhiều, dễ dàng hơn và dễ bảo trì hơn.

Hãy nhìn vào các bài viết sau:

+0

Không 'async' và' await' đi kèm với C# 4.5, không 5,0? – Spook

+2

@Spook không có C# 4.5: https://en.wikipedia.org/wiki/C_Sharp_(programming_language)#Versions async/await hỗ trợ ngôn ngữ đi kèm với C# 5.0 và nó cũng cần .NET 4.5. Bạn có thể sử dụng .NET 4.0 và tận dụng các tính năng ngôn ngữ async/await với gói NuGet từ nhóm BCL: http://www.nuget.org/packages/Microsoft.Bcl.Async/ – tugberk

Các vấn đề liên quan