캐슬 윈저를 DI 컨테이너로 사용하기 위해 asp.net mvc 4 솔루션을 설치했습니다. 나는 그것과 함께 log4Net 시설을 사용하고있다. 윈저 웹 사이트에 표시된 나는 Castle 컨테이너를 MVC 외부에서 사용하는 방법
private static IWindsorContainer container;
private static void BootstrapContainer()
{
container = new WindsorContainer()
.Install(FromAssembly.This());
var controllerFactory = new WindsorControllerFactory(container.Kernel);
ControllerBuilder.Current.SetControllerFactory(controllerFactory);
}
나는 설치 설정을하고 난 성공적으로 생성자를 통해 내 컨트롤러에 서비스를 주입하고 ...의 Global.asax에서 컨테이너 위로를 설정했습니다. 나는 또한 내 컨트롤러에서 log4Net 기능을 성공적으로 사용하고있다.
컨트롤러 외부에서 인터페이스 ILogger (log4net 구성 요소의 인터페이스)를 해결하는 데 컨테이너를 어떻게 사용할 수 있는지 알고 싶습니다. 예를 들어, 사용자 정의 HandleError 필터에서.
사실 캐슬 윈저 문서에 대한 빠른 읽기는 당신에게 자동 응답을 줄 것이라고 믿습니다. –