2010-06-02 14 views
6

Sé que hay eventos para antes/después de que se dispare una acción.¿Hay eventos antes de ejecutar un controlador?

¿Hay algo más arriba en la pila como antes de llamar a un controlador?

+0

¿Dentro del controlador? – SLaks

+0

fuera del controlador, más arriba en la pila justo antes de que se llame al controlador. – Blankman

+0

Si está tratando de averiguar qué controlador se creará una instancia en el tiempo de ejecución, un controlador de la ayuda sería de ayuda. Es difícil decir lo que quieres decir sin un ejemplo de lo que estás tratando de lograr. – Jab

Respuesta

9

No existe la noción de con un controlador. Los controladores no se ejecutan. Son clases que se instancian y se invocan acciones (métodos) sobre ellas.

Puede decorar su acción de controlador con un atributo personalizado [ActionFilter] en el que puede anular el OnActionExecuting que se invocará antes de invocar la acción del controlador. Esta técnica también te permite una mejor separación de preocupaciones.

7

ASP.Net MVC todavía corre a través de la tubería HttpApplication, por lo que aún puede manejar cualquiera de los eventos de BeginRequest a través de PreRequestHandlerExecute añadiendo manejadores de Global.asax.

Cuestiones relacionadas