In MVC we can decorate action methods with different filters like
[HttpPost]
[Authorize]
public ActionResult mymethod(){}
HttpPost
derives from MethodSelectorAttribute
(probably indirectly) and the Authorize
attribute inherits from ActionFilterAttribute
.
My question is: in which order are they executed in the MVC request pipeline? I tried to go search in MVC source code but failed to find the relevant code bits.
Filters run in the following order:
For example, authorization filters run first and exception filters run last. Within each filter type, the Order value specifies the run order. Within each filter type and order, the Scope enumeration value specifies the order for filters. This enumeration defines the following filter scope values (in the order in which they run):
Extracted from MSDN