Web api不是调用我的依赖解析器

Joh*_*lan 1 asp.net-web-api

我已经设置了一个非常简单的依赖项解析器,但它没有为我的控制器调用.

当我点击HomeController时,调用GetService :( http:localhost:xxxx /)但是(http:// localhost:xxxx/api/Customers)则不然.

在Global.asax中我放入了Application_Start

        DependencyResolver.SetResolver(new PoorMansResolver());
Run Code Online (Sandbox Code Playgroud)

我的解析器类是

  public class PoorMansResolver : IDependencyResolver
    {
        static readonly ICustomerRepository CustomerRepository = new CustomerRepository();

        public object GetService(Type serviceType)
        {
            if (serviceType == typeof (CustomersController)) 
                return new CustomersController(CustomerRepository);
            else return null;
        }

        public IEnumerable<object> GetServices(Type serviceType)
        {
            return new List<object>();
        }
    }
Run Code Online (Sandbox Code Playgroud)

为什么旋转变压器没有被调用?

Sim*_*n C 12

您是否为MVC4和WebAPI设置了解析器?

这将其设置为mvc(System.Web.Mvc):

DependencyResolver.SetResolver(new PoorMansResolver()); 
Run Code Online (Sandbox Code Playgroud)

但这将它设置为Web API(System.Web.Http):

GlobalConfiguration.Configuration.DependencyResolver = new PoorMansResolver();
Run Code Online (Sandbox Code Playgroud)