Я пытаюсь реализовать nhibernate transaction handling через Interceptors и не мог понять, как зарегистрировать интерфейс через свободный механизм.Зарегистрировать перехватчик с замком Свободный интерфейс
Я вижу
Component.For<ServicesInterceptor>().Interceptors
, но не знаете, как использовать его. Кто-нибудь может мне помочь? This example казался немного сложным.
@Krzysztof Мой перехватчик предназначен для выбора всех методов и проверки пользовательского атрибута. Это означает, что класс может не реализовывать интерфейс. По существу, любой метод, имеющий атрибут транзакции, входит в транзакцию. Итак, как добавить перехватчик для перехвата всех методов в домене приложения? Ваш пример, если для 'IFoo' –
DynamicProxy способен перехватывать вызовы методам в классах, но требование состоит в том, чтобы эти методы были виртуальными, так как ваши компоненты удовлетворяют этому требованию, вам хорошо идти –
@QuintinPar 7 лет позже ... Чтобы перехватить каждый созданный компонент, используйте примеры IContributeComponentModelConstruction http://stackoverflow.com/a/26426700/90033 и https://github.com/castleproject/Windsor/blob/master/docs/componentmodel-construction-contributors .md – Konstantin