2012-05-11 1 views
1

Есть ли возможность настроить Interceptor на использование методов только специального интерфейса или базового класса? В настоящее время я зарегистрировал Interceptor, который работает с областями соединений с одной БД. Теперь я добавил еще одну область работы с другим db и хочу добавить еще один перехватчик, который перехватит методы второй области. Можно настроить перехватчик через xml-файлы вместо проверки целевых свойств вызова.Настройка перехватчика Windsor для привязки только отмеченных методов

Я добавил перехватчик с помощью компонентов:

<component 
    type="Common.IoC.SessionScopeInterceptor, Common" 
    lifestyle="transient"> 
</component> 

AFAIK перехватчик перехватывает все методы всех классов, зарегистрированных в Виндзоре контейнере.

Я палочка, чтобы добавить что-то вроде этого^

<component 
    type="Common.IoC.SessionScopeInterceptor, Common" 
    lifestyle="transient" 
    interceptOnlyVirtualMethods="true" 
    interceptClass="Common.IoC.SessionScope1, Common" 
    > 
</component> 
+0

Вопрос не очень ясен. Не могли бы вы переписать его, пожалуйста? –

+0

@ KrzysztofKoźmic, я заполненный вопрос тело, PLS посмотрите. –

+2

Вы посмотрели http://stackoverflow.com/questions/420891/how-do-i-tell-windsor-to-add-an-interceptor-to-all-components-registered-that-im? – Maciej

ответ

2

вам нужно создать свой собственный AbstractFacility, который реализует ваше желаемое поведение. По сути, вам нужно реализовать что-то похожее на то, что сделал Микаэль Сандберг в ответ на вопрос this.

+0

Спасибо, я думаю, это лучшее, что я могу сделать в этой ситуации. –

Смежные вопросы