Creating a Custom Controller Factory in ASP.NET MVC