Should I use AsyncController at ASP.NET MVC 4?
Should I use AsyncController at ASP.NET MVC 4?
No.
Should I replace uses of AsyncController to Controller?
Yes, asynchronous actions are implemented in new way in asp.net-mvc 4, using Task Class
The ASP.NET MVC 4 Controller class in combination .NET 4.5 enables you to write asynchronous action methods that return an object of type Task. The .NET Framework 4 introduced an asynchronous programming concept referred to as a Task and ASP.NET MVC 4 supports Task. Tasks are represented by the Task type and related types in the System.Threading.Tasks namespace. The .NET Framework 4.5 builds on this asynchronous support with the await and async keywords that make working with Task objects much less complex than previous asynchronous approaches. The await keyword is syntactical shorthand for indicating that a piece of code should asynchronously wait on some other piece of code. The async keyword represents a hint that you can use to mark methods as task-based asynchronous methods. The combination of await, async, and the Task object makes it much easier for you to write asynchronous code in .NET 4.5. The new model for asynchronous methods is called the Task-based Asynchronous Pattern (TAP). This tutorial assumes you have some familiarity with asynchronous programing using await and async keywords and the Task namespace.
More reading at Using Asynchronous Methods in ASP.NET MVC 4
Comments
-
Felipe Pessoto almost 2 years
This class has this description:
Provided for backward compatibility with ASP.NET MVC 3.
And the source is just:
public abstract class AsyncController : Controller { }
I can´t find any documentation about deprecation of this class at MSDN. Should I replace uses of AsyncController to Controller?
-
Felipe Pessoto over 11 yearsSo, the answer is "no"? Right? I shouldn´t use AsyncController. I should use Controller since "The ASP.NET MVC 4 Controller class in combination .NET 4.5 enables you to write asynchronous action methods that return an object of type Task"
-
archil over 11 yearsYes, answer is "no". If using .NET 4.5, using Tasks is simpler and better way than subclassing AsyncController
-
Donal Lafferty over 10 yearsIf you don't need a callback, Parallel.Invoke seems simpler.
-
Tore Aurstad over 5 yearsTPL poses new problems with thread pools and you should look out for scalability issues such as thread starvation