Я хотел бы использовать NInject.MVC3, чтобы решить, какой конкретный класс создавать при вызове метода Action на контроллере. Так, например:
[HttpPost]
public ActionResult Index(IMyModelInterface model)
{
// do something
return View();
}
Очевидно, что без внедрения зависимостей MVC3 не может создать экземпляр IMyModelInterface, но я мог бы связать этот интерфейс с конкретным классом, который реализует этот интерфейс.
Я пробовал это и просто получаю сообщение об ошибке от инфраструктуры MVC, пытающейся создать экземпляр интерфейса.
Итак, во-первых, это плохая вещь, чтобы попытаться сделать?
Если это не глупо, как мне это сделать?
Если это плохо, как еще мне это сделать. Я рассмотрел использование ViewModel, а затем копирование параметров через? Я немного неохотно это делаю, так как моя модель содержит все приятные атрибуты проверки для используемого представления - и мне пришлось бы дублировать это в ViewModel, что, похоже, увеличивает накладные расходы на обслуживание.
Я видел вопрос SO: делает это , используя Autofac.
Я использую самые последние версии NInject и NInject.MVC3 из пакета Nuget.