public TestClassBase() { NinjectModule registrations = new PublicPlatformNinjectModule(); this.kernel = new StandardKernel(registrations); IDependencyResolver ninjectResolver = new PublicDependencyResolver(kernel); System.Web.Mvc.DependencyResolver.SetResolver(ninjectResolver); // MVC //GlobalConfiguration.Configuration.DependencyResolver = (System.Web.Http.Dependencies.IDependencyResolver)ninjectResolver; // Web API }
/// <summary> /// Creates the kernel that will manage your application. /// </summary> /// <returns>The created kernel.</returns> private static IKernel CreateKernel() { //var dependencyResolver = new PublicDependencyResolver(); //var modules = dependencyResolver.GetModules(); //var kernel = new StandardKernel(); //try //{ // kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel); // kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>(); // RegisterServices(kernel); // RegisterServicesForWebAPI(kernel); // return kernel; //} //catch //{ // kernel.Dispose(); // throw; //} //Share IOC Container with both MVC and WEB API //http://blog.developers.ba/simple-way-share-container-mvc-web-api/ NinjectModule registrations = new PublicPlatformNinjectModule(); var kernel = new StandardKernel(registrations); kernel.Bind <Func <IKernel> >().ToMethod(ctx => () => new Bootstrapper().Kernel); kernel.Bind <IHttpModule>().To <HttpApplicationInitializationHttpModule>(); //MVC System.Web.Mvc.IDependencyResolver ninjectResolver = new PublicDependencyResolver(kernel); System.Web.Mvc.DependencyResolver.SetResolver(ninjectResolver); // MVC //WEB API GlobalConfiguration.Configuration.DependencyResolver = (System.Web.Http.Dependencies.IDependencyResolver)ninjectResolver; return(kernel); }