Wep.API uses a different IDependencyResolver than the MVC framework.
When you use HttpConfiguration.DependencyResolver , it only works for ApiControllers. But your ApiControllerBase comes from Controller ...
So your ApiControllerBase should inherit from ApiController .
Change it in ApiBaseController.cs:
public abstract class ApiControllerBase : ApiController { }
If you want to embed dependencies in regular derived classes of Controller , you need to use (in your IocConfig):
System.Web.Mvc.DependencyResolver.SetResolver(new NinjectMvcDependencyResolver(container));
Please note that in this case you cannot use your NinjectDependencyResolver , because it is for ApiControllers .
So you need another NinjectMvcDependencyResolver , which should implement System.Web.Mvc.IDependencyResolver .
public class NinjectMvcDependencyResolver: NinjectDependencyScope, System.Web.Mvc.IDependencyResolver { private IKernel kernel; public NinjectDependencyResolver(IKernel kernel) : base(kernel) { this.kernel = kernel; } }
nemesv
source share