Domanda

Dire che ho:

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

Gli attributi vengono eseguiti nell'ordine seguente: 2, 3, 1

Questo ha senso perché attributi 2 e 3 hanno un ordine di -1 e sarà eseguito prima attributo 1 che ha un ordine esplicito posto uguale a 0.

Ora, diciamo che ho:

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

Gli attributi vengono eseguiti nell'ordine seguente: 1, 2, 3

Perché è quell'attributo 2 in questo caso (che ha un ordine uguale a 0) viene eseguita prima attributo 3 (che ha un ordine uguale a -1)?

È stato utile?

Soluzione

Si deve essere eseguito nell'ordine 1, 3, 2, proprio come si era proposto. E infatti, eseguono nell'ordine corretto sulla mia macchina.

Si può fornire delle definizioni dei tre attributi? Ci potrebbe essere qualcos'altro in gioco qui.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top