나는 의존성 주입을 완전히 처음 접했습니다. 나는 asp mvc 및 ninject 사용하고 있습니다. 나는 'DefaultControllerFactory'에서 클래스를 확장하고 다음 'AddBindings'코드 추가 : 내 'AccountController'내가 생성자를 통해 IUserRepository 주입에ninject를 사용하여 일부 컨트롤러에 더 많은 클래스를 주입하는 방법
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);
}
을 :
private IUserRepository userRepository;
public AccountController(IUserRepository userRepository)
{
this.userRepository = userRepository;
}
그리고 여기가 발행되어 있습니다. 계정 컨트롤러에 'RegisterUser'작업이 포함되어 있습니다. 사용자는 표준 매개 변수 (사용자 이름, 이름 등)로 국가 및 도시와 같은 몇 가지 추가 매개 변수를 선택해야합니다. 일부 컨트롤러에 더 많은 저장소 클래스를 주입하는 방법? 이것에 가장 적합한 전략은 무엇입니까? 설치하는 방법
. 하지만 설정 한 컨트롤러에 더 많은 종속성 클래스를 삽입하는 방법을 모르겠습니다. – 1110
필요한만큼 생성자에서 많은 리포지토리를 사용할 수 있습니다. Chec \ k 샘플. – Samich