Как перехватить метод (метод) с помощью установки общих компонентов - PullRequest
1 голос
/ 12 ноября 2010

С учетом следующего кода:

    container.Register(
            AllTypes.FromAssemblyNamed("MyNameSpace")
                    .Where(component => component.Name.EndsWith("Repository"))
                    .WithService.FirstInterface()
                    .Configure(component => component.LifeStyle.Singleton)
        );

Можно ли ввести Interceptor (например, LoggingInterceptor) для всех найденных компонентов? Единственное, что я могу теперь сделать, - это разбить каждый компонент и явно добавить перехватчик, который, по моему мнению, является интуитивно понятным, поскольку они будут использовать один перехватчик (т.е. LoggingInterceptor).

Спасибо

1 Ответ

1 голос
/ 12 ноября 2010
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>());
...