2011-05-14 8 views
2

IFileDownloader를 구현하는 클래스가 여러 개 있다고 가정합니다. 내가 구성 요소를 등록하면Castle Windsor : 여러 유형 등록

개별적으로 모든 것이 괜찮 그러나

kernel.Register(Component.For<IFileDownloader>().ImplementedBy<HttpFileDownloader>()); 

내가 그들을 등록하는 것 시도하고 does't 해당 인터페이스를 구현하는 모든 구성 요소를 등록하는 경우 :

kernel.Register(AllTypes.FromThisAssembly().BasedOn<IFileDownloader>()); 

I을 명백한 것이 빠져 있어야합니다.

많은 감사, 알렉스

답변

4

당신이

  1. 수업 내부하며, 윈저 그들을 무시 예상대로 등록이 작동하지 않는 이유는 두 가지 이유가있을 수 있습니다.
  2. 서비스에 IFileDownloader 서비스를 등록하도록 지정하지 않았습니다. 나는 당신이 이후 무슨 생각을 : 당신이 마지막으로 ... 떨어

    kernel.Register(AllTypes.FromThisAssembly() 
        .BasedOn<IFileDownloader>() 
        .WithService.Base()); 
    
+0

한 위대한 나는 내가 잊고 있었던 무언가 :) –

+0

내가 찾던이다가 알고 있었다. 도와 줘서 고마워. –

+0

설정 파일에서 어떻게하는지 알려줄 수 있습니까? –

관련 문제