У меня есть приложение ASP.NET MVC 3, которое использует Ninject для разрешения зависимостей.Все, что мне нужно было сделать, это сделать наследующий файл Global от NinjectHttpApplication
, а затем переопределить метод CreateKernel
для сопоставления моих привязок зависимостей.После этого я могу включить интерфейсные зависимости в конструкторы контроллера MVC, а ninject может их разрешить.Все это замечательно.Теперь я хотел бы также разрешить зависимости в связывателе модели при создании экземпляра моей модели, но я не знаю, как это сделать.
У меня есть модель представления:
public class CustomViewModel
{
public CustomViewModel(IMyRepository myRepository)
{
this.MyRepository = myRepository;
}
public IMyRepository MyRepository { get; set; }
public string SomeOtherProperty { get; set; }
}
У меня тогда есть метод действия, который принимает объект модели представления:
[HttpPost]
public ActionResult MyAction(CustomViewModel customViewModel)
{
// Would like to have dependency resolved view model object here.
}
Как переопределить связыватель модели по умолчанию, чтобы включить исключение и разрешение зависимостей?