У меня есть приложение ASP.NET MVC 3, которое использует Ninject для разрешения зависимостей. Все, что мне нужно было сделать до сих пор, - это унаследовать глобальный файл от 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.
}
Как мне переопределить привязку модели по умолчанию, чтобы включить ninject и разрешить зависимости?