Pregunta

Diga que tengo:

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

Los atributos se ejecutan en el siguiente orden: 2, 3, 1

Esto tiene sentido porque los atributos 2 y 3 tienen un orden de -1 y se ejecutarán antes del atributo 1 que tiene un orden explícitamente establecido igual a 0.

Ahora, digamos que tengo:

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

Los atributos se ejecutan en el siguiente orden: 1, 2, 3

¿Por qué es ese atributo 2 en este caso (que tiene un pedido igual a 0) se ejecuta antes del atributo 3 (que tiene un orden igual a -1)?

¿Fue útil?

Solución

Deben ejecutarse en la Orden 1, 3, 2, tal como usted propuso. Y de hecho, se ejecutan en el orden correcto en mi máquina.

¿Puede proporcionar las definiciones de sus tres atributos? Puede haber algo más en juego aquí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top