拦截器

注册组件时,请使用 Interceptors() 方法指定要用于此组件的拦截器/拦截器类型:

TInterceptor 必须实现 IInterceptor 接口

按类型划分的单个拦截器:

container.Register(
    Component.For<MyInterceptor>(),
    Component.For<IFoo>()
             .ImplementedBy<Foo>()
             .Interceptors<MyInterceptor>());

按类型划分的两个拦截器:

container.Register(
    Component.For<MyInterceptor1>(),
    Component.For<MyInterceptor2>(),
    Component.For<IFoo>()
             .ImplementedBy<Foo>()
             .Interceptors<MyInterceptor1, MyInterceptor2>());

按类型划分的 2 个以上拦截器:

container.Register(
    Component.For<MyInterceptor1>(),
    Component.For<MyInterceptor2>(),
    Component.For<MyInterceptor3>(),
    Component.For<IFoo>()
             .ImplementedBy<Foo>()
             .Interceptors(typeof(MyInterceptor1), 
                           typeof(MyInterceptor2), 
                           typeof(MyInterceptor3)));