Каков порядок выполнения при работе с фильтрами .NET MVC 2?
-
24-10-2019 - |
Вопрос
Скажи, что у меня есть:
[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
Почему этот атрибут 2 в этом случае (который имеет порядок, равный 0), выполняется до атрибута 3 (который имеет порядок, равный -1)?
Решение
Они должны быть выполнены в заказе 1, 3, 2, как вы предложили. И на самом деле они выполняют в правильном порядке на моей машине.
Можете ли вы дать определения ваших трех атрибутов? Здесь может быть что -то еще.
Не связан с StackOverflow