다중 레이어 응용 프로그램 (ASP MVC : UI 프로젝트, DAL 프로젝트)에서 web.config에 구성 요소를 등록했습니다.Windsor Castle에서 서비스 인스턴스를 얻는 방법
이제이 문제가 있습니다. 작업 단위 패턴이 구현되어 특정 서비스의 현재 인스턴스를 가져와야합니다. 서비스 등록은 UI 프로젝트에서 발생했지만 DAL 프로젝트에서이 서비스의 현재 인스턴스를 가져와야합니다. 이 참조는 어떻게 얻을 수 있습니까? 난 이미 방법을 필요로하는 UI 프로젝트에서
은 뭔가 해결하세요 :container = new WindsorContainer(
new XmlInterpreter(new ConfigResource("castle"))
);
personRepository= container.Resolve<IPersonRepository>();
IT는 DAL 프로젝트에서 동일한 기술을 사용하는 것이 확인 될 것인가? 그렇다면 모든 레이어 (프로젝트)에서 액세스 할 수 있도록 별도의 파일에 구성을 작성해야합니까?
미안하지만이 질문에 대한 답변은 성의가 없지만 성을 사용하는 첫 번째 프로젝트이기 때문에 큰 그림을 이해하지 못한다고 생각합니다.
코드 스 니펫이 많은 도움이됩니다.
미리 감사드립니다.
나는 당신의 요점을 본다! 하지만 내가 이해하지 못하는 것은 정확히 이것이 어떻게 이루어져야하는지입니다! DAL은 자체 어셈블리입니다. 그것의 클래스에서 나는 단순히 생성자 매개 변수로 (IWindsorContainer 컨테이너)를 사용합니까? 그렇다면 UI 프로젝트에서 컨테이너 자체를 등록해야합니까? 방법? 또는 다음과 같이 사용할 수 있습니다. WindsorContainer container = new WindsorContainer(); 컨테이너 .resolve(); 이것은 생성자 삽입이 없음을 의미합니다. ... 내가 어떻게하는지에 대한 기술을 이해하지 못한다고 생각합니다! –
아니요 * 직접 컨테이너에 전화하지 마십시오. 그것이 다른 어셈블리인지는 중요하지 않습니다. 여전히 동일한 어플리케이션입니다. 이 프로젝트를 참고로 사용하십시오 : http://code.google.com/p/blogsharp/ –