2011-09-16 4 views
0

Autofac에 AOP를 사용하는 표준 방법은 각 구성 요소에 인터셉터를 선언하는 것입니다 : 내 프로젝트에서Autofac aop 와일드 카드 : 가능합니까?

builder.RegisterType<Filter1>().As<IFilter>() 
    .EnableInterfaceInterceptors(); 

내가 이렇게 추가하고 그들을 불편 유지 IFilter를 구현 (수십)을 많이 가지고 있어요. 모든 서비스 인스턴스를 가로 챌 수있는 능력을 선호합니다. 다음과 같이 입력하십시오 :

builder.EnableInterfaceInterceptors<IFilter>(); 

가능합니까?

답변

0

나는 EnableInterfaceInterceptors 여러 등록을 처리 할 수 ​​있는지 확실하지 않다,하지만이 작업을해야 할 경우 : 당신이 필요로하는 경우, 이것은 확장 방법에 랩 할 수

builder.RegisterAssemblyTypes(assemblies).Where(t => t.IsAssignableTo<IFilter>()) 
    .EnableInterfaceInterceptors(); 

(같은 거의 모든 ContainerBuilder 등록 방법) 위에서 요청한 정확한 구문을 제공합니다.