lucamilan
3/20/2012 - 10:45 PM

ServiceResolverAdapter: Allows you to use the ASP.NET MVC DependencyResolver for ASP.NET Web API

ServiceResolverAdapter: Allows you to use the ASP.NET MVC DependencyResolver for ASP.NET Web API

public class ServiceResolverAdapter : IDependencyResolver
{
    private readonly System.Web.Mvc.IDependencyResolver dependencyResolver;

    public ServiceResolverAdapter(System.Web.Mvc.IDependencyResolver dependencyResolver)
    {
        if (dependencyResolver == null) throw new ArgumentNullException("dependencyResolver");
        this.dependencyResolver = dependencyResolver;
    }

    public object GetService(Type serviceType)
    {
        return dependencyResolver.GetService(serviceType);
    }

    public IEnumerable<object> GetServices(Type serviceType)
    {
        return dependencyResolver.GetServices(serviceType);
    }
}

public static class ServiceResolverExtensions
{
    public static IDependencyResolver ToServiceResolver(this System.Web.Mvc.IDependencyResolver dependencyResolver)
    {
        return new ServiceResolverAdapter(dependencyResolver);
    }
}