A Unity 2.0 Service Locator which can be used with ASP.Net MVC 3.0
public class UnityMvcDependencyResolver : IDependencyResolver
{
readonly IUnityContainer _container;
public UnityMvcDependencyResolver(IUnityContainer container)
{
_container = container;
}
public object GetService(Type serviceType)
{
return Resolve(serviceType);
}
private object Resolve(Type serviceType, string key = null)
{
try
{
return _container.Resolve(serviceType, key);
}
catch (Exception ex)
{
throw new InstanceNotFoundException(ex.Message, ex);
}
}
public IEnumerable<object> GetServices(Type serviceType)
{
return _container.ResolveAll(serviceType);
}
Use the global.asax Application_Start to setup the IDependencyResolver you want ASP.NET MVC 3.0 to use:
var container = new UnityContainer();
//... register types to the UnityContainer
DependencyResolver.SetResolver(new UnityMvcDependencyResolver(container));
Fork
1 Feedback
You must log in before you can give any feedback
You must log in before you can post a comment


1.26k
0




Mark '.net' tag as 'like'
Mark '.net' tag as 'ignore'