Я только что установил Ninject.MVC3 0.3. Я использую ASP.NET MVC 3 Beta.
Я добавил этот код в мой Global.asax.cs
файл:
public static void RegisterServices(IKernel kernel)
{
kernel.Bind<IProductRepository>().To<SqlProductRepository>();
}
public void SetupDependencyInjection()
{
IKernel kernel = new StandardKernel();
RegisterServices(kernel);
DependencyResolver.SetResolver(new Ninject.Mvc3.NinjectServiceLocator(kernel));
}
И я добавил вызов SetupDependencyInjection()
в Application_Start()
функцию, чтобы она выглядела так:
protected void Application_Start()
{
SetupDependencyInjection();
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
IProductRepository
и SqlProductRepository
- это классы, которые я создал в своей папке Models, и я добавил конструкторную зависимость к своему HomeController
. Вот код:
private IProductRepository products;
public HomeController(IProductRepository productRepository)
{
products = productRepository;
}
Я добавил несколько точек останова и запустил приложение, и оно работает как шарм. Надеюсь, это поможет.