#asp.net-mvc #binding #dependency-injection #ninject
#asp.net-mvc #привязка #внедрение зависимостей #ninject
Вопрос:
Во-первых, вот код:
Привязка в NinjectControllerFactory
class MrBigglesworthServices : NinjectModule
{
public override void Load()
{
Bind<IAuthenticationRepository>()
.To<AuthenticationRepository>()
.WithConstructorArgument("connectionString",
ConfigurationManager.ConnectionStrings["VoiceDB"].ConnectionString
);
Bind<IAppRepository>()
.To<AppRepository>()
.WithConstructorArgument("connectionString",
ConfigurationManager.ConnectionStrings["SessionStore"].ConnectionString
);
}
}
Конструктор для контроллера поиска:
private IAppRepository appRepository;
public SearchController(IAppRepository appRepository)
{
this.appRepository = appRepository;
}
Основываясь на том, что я видел в онлайн-примерах, этого должно быть достаточно, но по какой-то причине возникает ошибка, упомянутая выше. Есть предложения? Пожалуйста, и спасибо.
Ответ №1:
Поскольку вы упомянули использование a NinjectControllerFactory
, я думаю, что вы используете неправильную реализацию. Подумайте о том, чтобы переключиться на https://github.com/ninject/ninject.web.mvc/wiki/MVC3 вместо этого. Это широко используемая интеграция Ninject и MVC3.