В соответствии с этим documentation for ASP.NET Filters фильтров выполняются в следующем порядке:Что такое область фильтра и почему странные имена?
- Авторизационные фильтры
- Действие фильтры
- фильтры отклика
- Исключительные фильтры
Внутри- каждого типа фильтра имеется filter Заказ, который определяет порядок выполнения.
Имеет смысл до сих пор ... но тогда это становится странным.
Существует еще способ заказа в пределах каждого типа фильтра и порядка, который представлен в виде перечисления из следующих значений:
public enum FilterScope
{
First = 0,
Global = 10,
Controller = 20,
Action = 30,
Last = 100,
}
Какое это Global, контроллер и действие должны в порядке выполнения для фильтра действий?
Например:
Если у меня есть два Action Filters, как с заказом выполнения 1 и FilterScope
от контроллера и действия соответственно.
Другие, чем заказать один перед другим, какой подшипник Controller
и Action
есть на что угодно?
Далее странности
According to thisFilterScope
предусматривает упорядочение третьего уровня для фильтров. Как Controller
, Global
или Action
заказ на фильтр, который никоим образом не ограничен для использования только на Controller
, Action
и необязательно применяется в глобальном масштабе? Он не описывает порядок.
Кроме того, если он обеспечивает фильтрацию на третьем уровне, почему он ограничен только 5 вариантами?
Я думаю, что 'FilterScope' определяет, где вы используете фильтр: глобально, на всем контроллере или на каком-либо действии. Итак, первый, который будет выполняться, будет глобальным фильтром, затем контроллером, а затем действием –
Помогает ли вам это: https://msdn.microsoft.com/en-us/library/system.web.mvc.filterscope(v= vs.118) .aspx? – Marco
@VsevolodGoloviznin Я думал то же самое, но это не объясняет, почему он указан для каждого типа и порядка фильтрации, он, несомненно, будет их всеобъемлющим. Таким образом, это будет: Область фильтра, Тип фильтра, Заказ фильтра. А не наоборот? – Luke