Castle windsor 如何安装具有通用组件的(方法)拦截器

Castle windsor 如何安装具有通用组件的(方法)拦截器,castle-windsor,Castle Windsor,给定以下代码: container.Register( AllTypes.FromAssemblyNamed("MyNameSpace") .Where(component => component.Name.EndsWith("Repository")) .WithService.FirstInterface() .Configure(c

给定以下代码:

    container.Register(
            AllTypes.FromAssemblyNamed("MyNameSpace")
                    .Where(component => component.Name.EndsWith("Repository"))
                    .WithService.FirstInterface()
                    .Configure(component => component.LifeStyle.Singleton)
        );
是否可以为找到的所有组件引入拦截器(如LoggingInterceptor)?我现在唯一的办法是分解每个组件并显式添加拦截器,我发现这是违反直觉的,因为它们将使用一个拦截器(即LoggingInterceptor)

谢谢

container.Register(
AllTypes.FromAssemblyNamed(“MyNameSpace”)
.Where(component=>component.Name.EndsWith(“存储库”))
.WithService.FirstInterface()
.Configure(component=>component.lifety.Singleton.Interceptors(InterceptorReference.ForType())
);
container.Register(Component.For());
container.Register(
AllTypes.FromAssemblyNamed(“MyNameSpace”)
.Where(component=>component.Name.EndsWith(“存储库”))
.WithService.FirstInterface()
.Configure(component=>component.lifety.Singleton.Interceptors(InterceptorReference.ForType())
);
container.Register(Component.For());

sidenote-可能
DefaultInterface
比2.1中的
FirstInterface
这里是DefaultInterface()?sidenote-可能
DefaultInterface
比2.1中的
FirstInterface
这里是DefaultInterface()好?
container.Register(
                AllTypes.FromAssemblyNamed("MyNameSpace")
                        .Where(component => component.Name.EndsWith("Repository"))
                        .WithService.FirstInterface()
                        .Configure(component => component.LifeStyle.Singleton.Interceptors(InterceptorReference.ForType<LoggingInterceptor>()))
            );
container.Register(Component.For<LoggingInterceptor>());