ASP.NET MVC: Action Filter to set up controller variables?

Sergio picture Sergio · Jul 13, 2011 · Viewed 13.1k times · Source

I have a scenario whereby with every page request I must check the session of the presence of a particular ID. If this is found I must grab a related object from the database and make it available to the controller. If no session ID is found I need to redirect the user (session expired).

At the moment I have a custom chunk of code (couple of lines) that does this at the start of every action method within my controller - which seems like unnecessary repetition.

Is this scenario worthy of an Action Filter?

Thanks

UPDATE Some great info here guys. Thank you

Answer

devdigital picture devdigital · Jul 13, 2011

Yes, this sounds like a good application of an action filter, as you can apply it at the controller level to operate on all actions. You could also make it part of a controller base class, if you didn't want to add it to all controllers manually, or write your own controller factory which automatically applies this action filter to each controller.

See ASP.NET MVC Pass object from Custom Action Filter to Action for passing data from an action filter to an action.