Secondo questo documentation for ASP.NET Filters filtri gestita nel seguente ordine:Che cos'è Filter Scope e perché i nomi strani?
- filtri di autorizzazione
- filtri di azione
- filtri di risposta
- filtri di eccezione
Il all'interno di ogni tipo di filtro c'è un filtro Ordine che specifica l'ordine di esecuzione.
Ha senso fino ad ora ... ma poi diventa strano.
C'è un ulteriore metodo di ordinare all'interno di ogni tipo di filtro e l'ordine che è rappresentato come un'enumerazione dei seguenti valori:
public enum FilterScope
{
First = 0,
Global = 10,
Controller = 20,
Action = 30,
Last = 100,
}
Nei cuscinetto fa globale, Controller e azione hanno all'interno dell'ordine corsa per un filtro azione?
Ad esempio:
Se ho due filtri d'azione, sia con un ordine di esecuzione di 1 e FilterScope
di controllore e azione, rispettivamente.
Diverso dall'ordinare l'uno di fronte all'altro, quale rilevamento ha Controller
e Action
su qualcosa?
Ulteriori bizarreness
According to this la FilterScope
fornisce terzo livello di ordinamento per filtri. In che modo Controller
, Global
o Action
un ordine per un filtro che non è in alcun modo limitato per l'uso solo su un Controller
, Action
e non necessariamente applicato globalmente? Non è descrittivo di un ordine.
Inoltre, se fornisce un filtro di terzo livello, perché è limitato solo alle 5 opzioni?
Penso che 'FilterScope' definisca dove si utilizza il filtro: globalmente, sull'intero controller o su qualche azione. Quindi il primo che verrà eseguito sarà un filtro globale, quindi il controller e quindi l'azione –
Ciò ti aiuterà: https://msdn.microsoft.com/en-us/library/system.web.mvc.filterscope(v= vs.118) .aspx? – Marco
@VsevolodGoloviznin Ho pensato la stessa cosa, ma questo non spiega perché è specificato per ogni 'tipo di filtro e ordine ', sarebbe sicuramente sopra questi. Quindi sarebbe: Filter Scope, Filter Type, Filter Order. Non il contrario? – Luke