Где и когда Ninject создает контроллер в MVC 3 - PullRequest
1 голос
/ 26 мая 2011

Я использую NuGet, чтобы добавить ссылку на Ninject и Ninject.Web.Mvc в мой проект. но я не добавляю регистрационный код для привязки контроллера (с конструктором параметров). но кажется, что контроллер был создан правильно, мне интересно, как Ninject создает контроллер с параметром зависимости без регистрации контроллера для объекта. в Ninject.Web.Mvc, и я нашел следующее предложение в блоге автора (ninject),

Сам контроллер будет найден Ninject даже без добавления привязки. Конечно, вы все равно можете добавить привязку для контроллера на тот случай, если вам потребуется указать дополнительную информацию для привязки (например, дополнительный аргумент конструктора). я нашел похожие вопросы, Как Ninject создает контроллер в ASP.NET MVC? ответ говорит: Ninject находит конструктор для этого типа, вставляет параметры, возвращает экземпляр контроллера

мой вопрос: если мы не зарегистрируем контроллер, как NinjectResolver разрешил контроллер?

1 Ответ

3 голосов
/ 27 мая 2011

не- abstract классы (такие как контроллеры) по умолчанию разрешаются в ninject как Bind<TheType>().ToSelf(), если привязка отсутствует.

...