Types of Filters in ASP.NET MVC:

  • Action Filters − Action filters are used to implement logic that gets executed before and after a controller action executes. We will look at Action Filters in detail in this chapter.

    • ASP.NET MVC provides the following action filters −

      • Output Cache − This action filter caches the output of a controller action for a specified amount of time.

        • [OutputCache(Duration = 10)]
      • Handle Error − This action filter handles errors raised when a controller action executes.

        • [HandleError] 
      • Authorize − This action filter enables you to restrict access to a particular user or role.

        • [Authorize]
  • Authorization Filters − Authorization filters are used to implement authentication and authorization for controller actions.

    • [Authorize]
  • Result Filters − Result filters contain logic that is executed before and after a view result is executed. For example, you might want to modify a view result right before the view is rendered to the browser.

  • Exception Filters − Exception filters are the last type of filter to run. You can use an exception filter to handle errors raised by either your controller actions or controller action results. You also can use exception filters to log errors.