Testowane z najnowszymi Ninject: Utwórz pusty aplikacji WWW i zaznacz pola wyboru dla MVC i Web Api
Install Nuget Package: Ninject.Web.WebApi.WebHost
Install Nuget Package: WebActivatorEx
utworzyć klasę w App_Start nazwie NinjectWebCommon.cs
[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(NinjectWebCommon), "Start")]
[assembly: WebActivatorEx.ApplicationShutdownMethodAttribute(typeof(NinjectWebCommon), "Stop")]
namespace <YOURNAMESPACE>
{
public static class NinjectWebCommon
{
private static readonly Bootstrapper bootstrapper = new Bootstrapper();
public static void Start()
{
DynamicModuleUtility.RegisterModule(typeof(OnePerRequestHttpModule));
DynamicModuleUtility.RegisterModule(typeof(NinjectHttpModule));
bootstrapper.Initialize(CreateKernel);
}
public static void Stop()
{
bootstrapper.ShutDown();
}
private static IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Bind<Func<IKernel>>().ToMethod(ctx =>() => new Bootstrapper().Kernel);
kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();
RegisterServices(kernel);
return kernel;
}
private static void RegisterServices(IKernel kernel)
{
//kernel.Bind<IRepo>().ToMethod(ctx => new Repo("Ninject Rocks!"));
}
}
}
Konfiguracja DI w RegisterServices
Dodaj do uzależnienia MVC lub Web API Kontrolery parametrów konstruktora
nadzieję, że to pomaga, dzięki.
Nie mogłem dowiedzieć się, jak * rozwiązać * zależności. – Alisson