The .NET Framework has introduced a new await/async programming model. A traditional ASP.NET MVC control is asynchronous by default. Which means that ASP.NET Thread Pool is blocked until another action is completed. However, calling an asynchronous controller action will not block the thread in the thread pool.
Asynchronous actions works best if your method is I/O, long-running, parallelizable and network bound. To start, create a new ASP.NET MVC 4 C# Internet App in Visual Studio 2012, create a class names DAL, and use Entity Framework 6.
Creating an asynchronous controller is not difficult. The difficult part is how you are able to make a supporting dataabase or network calls asynchronous.
Read the rest of the tutorial in this post:Â http://visualstudiomagazine.com/articles/2013/07/23/async-actions-in-aspnet-mvc-4.aspx