6

說我有:處理.NET MVC 2動作過濾器時的執行順序是什麼?

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

向屬性按以下順序執行: 2,3,1

這是有道理的,因爲屬性2和3的-1的順序,將被執行屬性1,它有一個明確設置順序等於0

現在之前,可以說我有:

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

的屬性按以下順序執行: 1,2,3

爲什麼在此情況下(其順序等於0)屬性2在屬性3(其順序等於-1 )?

回答

3

按照您的建議,它們應該按照1,3,2的順序執行。事實上,他們在我的機器上以正確的順序執行。

你能提供你的三個屬性的定義嗎?這裏可能還有別的東西在玩。

+0

啊!我完全忽略了,在我的情況下,Attribute3是OnResultExecuting而不是OnActionExecuting。這現在有道理。感謝您的幫助。 – user357933 2010-06-04 17:01:17

相關問題