Я совершенно новичок в внедрении зависимостей. Я использую asp mvc и ninject.
Я расширил класс из DefaultControllerFactory и добавил следующий код AddBindings:
private void AddBindings()
{
ninjectKernel.Bind<ICitiesRepository>().To<CitiesRepository>().WithConstructorArgument(
"connectionString", ConfigurationManager.ConnectionStrings["cstr"].ConnectionString);
ninjectKernel.Bind<ICountriesRepository>().To<CountriesRepository>().WithConstructorArgument(
"connectionString", ConfigurationManager.ConnectionStrings["cstr"].ConnectionString);
ninjectKernel.Bind<IUserRepository>().To<UserRepository>().WithConstructorArgument(
"connectionString", ConfigurationManager.ConnectionStrings["cstr"].ConnectionString);
}
В моем AccountController я добавляю IUserRepository через конструктор:
private IUserRepository userRepository;
public AccountController(IUserRepository userRepository)
{
this.userRepository = userRepository;
}
И вот я подхожу к вопросу. Контроллер аккаунта содержит действие «RegisterUser». И пользователь должен выбрать со стандартными параметрами (имя пользователя, имя и т. Д.) Несколько дополнительных параметров, таких как Страна и Город. Как добавить больше классов репозитория в некоторый контроллер? Какова лучшая стратегия для этого?