All Things Related to Enterprise Architecture

Enterprise Architecture

Subscribe to Enterprise Architecture: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Enterprise Architecture: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Enterprise Architect Authors: Dana Gardner, Jason Bloomberg, Bob Gourley, Plutora Blog, Adrian Grigoriu

Related Topics: Enterprise Architecture, Azure Cloud on Ulitzer, Microsoft Developer

Blog Feed Post

Upgrading the default ASP.NET MVC project with IoC and the Unity Controller Factory

The ASP.NET MVC framework is one of the coolest things to happen to ASP.NET since its creation

The ASP.NET MVC framework is one of the coolest things to happen to ASP.NET since its creation. One of the things that I love about the MVC framework more than anything else is its flexibility. This flexibility allows it to be configured anyway the developer likes, including replacing the factory that creates controllers.

There are two main things that I wanted to accomplish with the Unity integration. The first was that I wanted my controllers to have the objects on which they depend injected into them in standard DI fashion. Secondly, I wanted the controllers themselves to be resolved through the IoC container rather than being tightly coupled by the routing rules. This would allow me to yank in and out different controller implementations if I need to (I figured this would come in quite handy for TDD and unit testing).

The first part is easy, just grab the Unity DLLs and reference them in your MVC project. At this point, you're now free to use Unity to inject whatever you feel like. Rigging up the controller factory so that it will use Unity to resolve controllers is equally easy because the mvc contrib codeplex site has already created a class called UnityControllerFactory that does just this. Once you've added references to Unity and Mvc.Contrib.Unity from your MVC project, you can change your global.asax.cs file to look something like this:

Read the original blog entry...

More Stories By Kevin Hoffman

Kevin Hoffman, editor-in-chief of SYS-CON's iPhone Developer's Journal, has been programming since he was 10 and has written everything from DOS shareware to n-tier, enterprise web applications in VB, C++, Delphi, and C. Hoffman is coauthor of Professional .NET Framework (Wrox Press) and co-author with Robert Foster of Microsoft SharePoint 2007 Development Unleashed. He authors The .NET Addict's Blog at .NET Developer's Journal.