is it possible to inject dependencies into the WebApiConfig class using Ninject?
This is my WebApiConfig class.
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Services.Replace(typeof(IExceptionHandler), new ErrorHandlerMessageHandler(*NEEDS DEPENDENCY*));
}
}
And this is my NinjectHttpApplication declaration
public class WebApiApplication : NinjectHttpApplication
{
protected override void OnApplicationStarted()
{
base.OnApplicationStarted();
GlobalConfiguration.Configure(WebApiConfig.Register);
}
protected override IKernel CreateKernel()
{
var kernel = new StandardKernel();
RegisterServices(kernel);
GlobalConfiguration.Configuration.DependencyResolver = new NinjectDependencyResolver(kernel);
return kernel;
}
private void RegisterServices(IKernel kernel)
{
//bindings
}
}
GlobalConfiguration.Configuration.DependencyResolver = new NinjectDependencyResolver(_kernel);
after theRegisterServices(_kernel)
call in theCreateKernel
method. Note that this is theNinjectDependencyResolver
from theNinject.Web.WebApi
namespace (may have to download separate NuGet package). Thanks! – Sergent