0
두 개의 다른 컨트롤러가있는 웹 응용 프로그램이 있으며 컨트롤러에 대한 입력으로 구성 파일을 사용합니다. 이전에 나는 하나의 설정 파일을 사용하고 있었고 그 파일을 커널에 바인딩 할 수 있었고 모든 것이 잘 작동했다. 이제는 두 개의 별도 설정 파일을 사용하고 어떤 파일을 사용할 지 이해할 필요가 있습니다. 여기에 내가 어떻게 할 것인지 생각한 예가있다. 내가 한 명만 가지고있을 때 구성을 바인딩하기 전에 한 일은 논평의 대상이됩니다.Ninject는 Global.asax에서 같은 유형의 두 가지 매개 변수를 바인딩합니다.
var kernel = NinjectWebApi.Kernel;
//get base dependency instances from the container
var configurationClient = kernel.Get<IConfigurationClient>();
//initialise local dependencies
var config1 = configurationClient.Get(new GetConfigurationByKeyRequest("Config1"));
var config2 = configurationClient.Get(new GetConfigurationByKeyRequest("Config2"));
//bind local dependencies
//This is what I did when I had just one config
//kernel.Bind<IConfiguration>().ToMethod(c => config1.Configuration);
kernel.Bind<IMy1Controller>().To<My1Controller>()
.WithConstructorArgument("config1", config1.Configuration)
.WithConstructorArgument("config2", config2.Configuration);
kernel.Bind<IMy2Controller>().To<My2Controller>()
.WithConstructorArgument("config2", config2.Configuration);
//Set the dependency resolver to use ninject
GlobalConfiguration.Configuration.DependencyResolver = new NinjectDependencyResolver(kernel);
"WithConstructorArgument"나는 입력을 지정하는 데 사용할 수없는 경우의 목적은 무엇인가?