What is the order of execution when dealing with .NET MVC 2 Action Filters?

Posted by user357933 on Stack Overflow See other posts from Stack Overflow or by user357933
Published on 2010-06-03T21:42:53Z Indexed on 2010/06/03 21:44 UTC
Read the original article Hit count: 297

Say I have:

[Attribute1(Order=0)]  
public class Controller1  
{  
    [Attribute2]  
    [Attribute3]  
    public ActionResult Action1() { ... }  
}

The attributes get executed in the following order: 2, 3, 1

This makes sense because attributes 2 and 3 have an order of -1 and will be executed before attribute 1 which has an explicitly set order equal to 0.

Now, lets say I have:

[Attribute1]  
[Attribute2(Order=0)]  
public class Controller1  
{  
    [Attribute3]  
    public ActionResult Action1() { ... }  
}

The attributes get executed in the following order: 1, 2, 3

Why is it that attribute 2 in this case (which has an order equal to 0) is executed before attribute 3 (which has an order equal to -1)?

© Stack Overflow or respective owner

Related posts about .NET

Related posts about mvc