I want to be able to execute some code on every request that stuffs data into ViewData. Currently I have a base controller class that all my controllers inherit from and I override OnActionExecuting and do it there.

My only concern with this approach is that whom ever creates a new controller will HAVE to inherit form the base class.

Is there a way to register something in the global.asax, like you would do with custom model binders, that would get ran every request? Kinda like a global action filter or something.