2013-08-13 2 views
3

J'ai 2 filtres d'action globale dans mon application MVC 4, que j'ai enregistrés dans le fichier Filter.config en utilisant RegisterGlobalFilters. J'ai besoin qu'ils soient exécutés dans un ordre particulier.Quel est l'ordre d'exécution des filtres globaux? MVC 4

Je sais comment spécifier l'ordre des filtres spécifiques au contrôleur, mais comment puis-je spécifier l'ordre et la portée de mes filtres globaux? est-ce dans l'ordre dans lequel ils sont enregistrés?

+0

Ceci est une excellente ressource pour filtrer dans MVC http://msdn.microsoft.com/en-us/library/gg416513(v=vs.98).aspx – asymptoticFault

+0

Cela pourrait vous aider à: http: // stackoverflow .com/a/6561914/290343 –

+0

@asymptoticFault, Ofer Zelig: Merci pour les liens! Ils donnent tous deux l'ordre des différents types de filtres mais pas d'ordre dans les filtres globaux. Là où je me bats, c'est comment définir la propriété d'ordre des filtres globaux car j'ai besoin que mes filtres globaux s'exécutent dans un ordre particulier. :) – user1355348

Répondre

3

In this MSDN article faites défiler vers le bas pour le Filtre Ordre section. Il existe les propriétés Order et Scope qui vous permettent de contrôler l'ordre d'exécution.

5

Comme aucune réponse n'a thusfar été donnée sur la façon de spécifier l'ordre des filtres globaux dans RegisterGlobalFilters, voici ma réponse:

Vous pouvez spécifier l'ordre dans la méthode Add, en passant dans un second paramètre:

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
{ 
    filters.Add(new HandleErrorAttribute(), 1); 
    filters.Add(new LogFilter(), 2); 
} 
Questions connexes