Эй, мы использовали Захватные Виндзорские перехватчики, основанные на этой статье: http://www.davidhayden.com/blog/dave/archive/2007/03/14/CastleWindsorAOPPolicyInjectionApplicationBlock.aspx, а также упомянутый выше.
Я нашел все это довольно просто, и это очень элегантный способ сделать АОП. Однако ....
Осторожно с производительностью, хотя. Использование перехвата создает динамический прокси-сервер, который, безусловно, замедлит работу. Основываясь на наших тестах с использованием вычислительной фермы 500 узлов, мы увидели снижение производительности примерно на 30% за счет использования перехвата в Виндзоре, это было вне того, что мы делали внутри перехвата (по сути, вызовы методов ведения журнала и параметры, переданные нашим методам) , и просто удаление перехвата ускорило все приложение совсем немного.
Осторожно, что вы не совершаете дорогие звонки действительно дорогой. :) Если бы я был вами, я бы посмотрел на кеш на другом уровне, возможно, используя шаблон типа IRepository, а затем поддерживая его с помощью различных стратегий кэширования, где это необходимо.
Успехов,
-
Мэтт.
Спасибо, Mausch. Я тоже пошел по пути декоратора. – 2008-10-31 07:45:22
Кэширование декораторов? Как это отличается от перехватчиков? с точки зрения его декларации, используя свободную регистрацию? Примеры пожалуйста. – IanT8 2011-07-04 23:17:12