Should I use AsyncController at ASP.NET MVC 4?

14,938

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

Share:
14,938
Felipe Pessoto
Author by

Felipe Pessoto

.Net Developer

Updated on June 19, 2022

Comments

  • Felipe Pessoto
    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
    Felipe Pessoto over 11 years
    So, 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
    archil over 11 years
    Yes, answer is "no". If using .NET 4.5, using Tasks is simpler and better way than subclassing AsyncController
  • Donal Lafferty
    Donal Lafferty over 10 years
    If you don't need a callback, Parallel.Invoke seems simpler.
  • Tore Aurstad
    Tore Aurstad over 5 years
    TPL poses new problems with thread pools and you should look out for scalability issues such as thread starvation