views:

53

answers:

4

I know there are events for before/after a action is fired.

Is there anything higher up in the stack like before a controller is called?

+5  A: 

There's no such notion as running a controller. Controllers are not run. They are classes which are instantiated and actions (methods) are invoked on them.

You could decorate your controller action with a custom [ActionFilter] attribute in which you could override the OnActionExecuting which will be called before the controller action is invoked. This technique also allows you a better separation of concerns.

Darin Dimitrov
+2  A: 

ASP.Net MVC still runs through the HttpApplication pipeline, so you can still handle any of the events from BeginRequest through to PreRequestHandlerExecute by adding handlers to Global.asax.

womp
A: 

Many application lifecycle events can be handled in the Global.asax file.

JHappoldt
A: 

Please see the following SO question which explain the lifecycle in ASP.NET MVC.

http://stackoverflow.com/questions/460145/what-is-the-page-lifecycle-of-an-asp-net-mvc-page-compared-to-asp-net-webforms

Soe Moe