2010-06-01 2 views
1

WindsorContainer 또는 해당 커널에서 모든 IRegistrations/ComponentRegistration 목록을 얻으려면 어떻게해야합니까? ComponentRegistered 이벤트에 연결하고 거기에서 추적하여이 작업을 수행하는 방법을 볼 수 있지만 거기에 eaiser 방식이 있습니까?WindsorContainer/Kernel의 모든 IRegist 목록을 나열하십시오.

감사합니다.

+0

왜 구성 요소를 나열 하시겠습니까? –

+0

사실 후에 특정 구성 요소에 인터셉터를 추가합니다. – Jeff

+2

IModelInterceptorSelector –

답변

2

당신은 핸들러에게 용기에서 아닌 IRegistrations를 얻을 수 있습니다 :

IHandler[] handlers = container.Kernel.GetAssignableHandlers(typeof(object)); 

핸들러는 기본적으로 등록 된 구성 요소입니다. IHandler.ComponentModel은 등록 된 구성 요소의 대부분의 정보를 포함합니다.

+1

이렇게하면 컨테이너에 등록 된 모든 서비스에 대한 모든 처리기가 제공됩니다. 어떤 이유로 컴포넌트에 관심이 있다면 핸들러의 'ComponentModel' 속성 세트를 만들어야합니다. –

+1

"핸들러의 ComponentModel 속성을 설정하십시오."라는 의미를 분명히 할 수 있습니까? 감사. – Jeff

+1

@ jeffn825 :'container.Kernel.GetAssignableHandlers (typeof (object)). 선택 (h => h.ComponentModel)' –

관련 문제