3 votes

ASP.NET MVC : dans la classe ActionFilterAttribute, quelle est la différence entre OnActionExecuted et OnResultExecuted ?

ASP.NET MVC : dans la classe ActionFilterAttribute, quelle est la différence entre OnActionExecuted et OnResultExecuted ? Lors de l'implémentation d'un filtre de compression, dans quelles méthodes le code de compression doit-il être placé ?

3voto

Adam Tuliper - MSFT Points 22478

Quelqu'un a quelque chose que vous pourriez trouver utile - regardez ça :
http://nraykov.wordpress.com/2009/12/02/asp-net-mvc-custom-compression-action-filter/

OnActionExecuted se produit après l'exécution de l'action. Je pense que c'est lorsque le contrôle a quitté la méthode. Le résultat de l'action qui est renvoyé est ensuite exécuté APRÈS la méthode d'action. Une vue, par exemple, n'est pas traitée dans la méthode, même si elle est renvoyée sous la forme "return View() ;" - elle est en fait traitée après le retour de la méthode d'action.
OnResultExecuted se produit lorsque la valeur de retour (IE le résultat de l'action) a été exécutée.

0voto

Naveen Katakam Points 401

Pour mettre en œuvre un filtre d'action personnalisé, vous devez hériter de l'ActionFilterAttribute. Il s'agit d'une classe abstraite qui comporte quatre méthodes que vous pouvez remplacer :

OnActionExecuting OnActionExecuted OnResultExecuting OnResultExecuted Comme leur nom l'indique, une logique personnalisée peut être exécutée avant/après l'exécution d'une méthode d'action et avant/après l'exécution du résultat. Les filtres d'action ont une propriété Order qui spécifie l'ordre dans lequel le filtre est appliqué lorsque plusieurs filtres sont utilisés pour décorer une méthode d'action.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X