Question

Dis-je:

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

Les attributs s'exécuter dans l'ordre suivant: 2, 3, 1

Cela est logique car les attributs 2 et 3 ont un ordre de -1 et sera exécuté avant attribut 1 qui a un ordre explicitement égal à 0.

Maintenant, laisse dire que j'ai:

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

Les attributs s'exécuter dans l'ordre suivant: 1, 2, 3

Pourquoi est-ce que l'attribut 2 dans ce cas (qui a un ordre égal à 0) est exécutée avant l'attribut 3 (qui a un ordre égal à -1)?

Était-ce utile?

La solution

Ils doivent être exécutées dans l'ordre 1, 3, 2, comme vous aviez proposé. Et en fait, ils exécutent dans l'ordre correct sur ma machine.

Pouvez-vous fournir les définitions de vos trois attributs? Il pourrait y avoir autre chose en jeu ici.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top