Привет, мы использовали перехватчики Castle Windsor, основанные на этой статье: http://www.davidhayden.com/blog/dave/archive/2007/03/14/CastleWindsorAOPPolicyInjectionApplicationBlock.aspx, а также упомянутый выше.
Я нашел все это довольно легко, и это очень элегантный способ сделать АОП. Однако ....
Осторожнее с производительностью. Использование перехвата создает динамический прокси, который определенно замедлит работу. Основываясь на наших тестах с использованием вычислительной фермы 500 Node, мы увидели снижение производительности примерно на 30% при использовании перехвата в Виндзоре, это было за пределами того, что мы делали и внутри перехвата (по сути, регистрация вызовов методов и параметров, передаваемых нашим методам) , и просто удаление перехвата ускорило все приложение.
Осторожно, вы не делаете свои дорогие звонки действительно дорого. :) Если бы я был тобой, я бы посмотрел на кеширование на другом уровне, возможно, реализовав шаблон типа IRepository, а затем поддерживая его различными стратегиями кеширования, где это уместно.
Удачи,
-
Мэтт.