Вызов метода перехвата замка Виндзор из класса

У нас есть регистрация компонентов в контейнере Castle Windsor, вот так

void RegisterComponent<TInterface, TImplementation>() {
    var component = Component.For<TInterface>().ImplementedBy<TImplementation>();
    component.Interceptors<SomeInterceptor>();
    container.Register(component);
}

Однако мы столкнулись с проблемой, что когда мы выполняем вызов метода из класса, он не перехватывается. Например, у нас есть такой компонент, как

ServiceA : IService {

    public void MethodA1() {
        // do some stuff
    }

    public void MethodA2() {
        MethodA1();
    }

}

И если мы позвонимMethodA2 или жеMethodA1 методы из какого-то другого класса перехватывается, ноMethodA1 по-видимому, не перехватывается при вызове изMethodA2 так как вызов изнутри класса.

Мы нашли похожий случай с решениемCastle Dynamic Proxy не перехватывает вызовы методов при вызове из класса Однако решение включает создание компонентов и прокси с использованиемnew оператор, который не подходит в нашем случае, так как мы используем контейнер. Можем ли мы использовать это решение с регистрацией компонентов, как описано выше? Или есть другие подходы для решения проблемы?

Ответы на вопрос(4)

Ваш ответ на вопрос