Я только посмотрел на Виндзор замка в течение короткого времени (все же), таким образом, я не могу прокомментировать это, но я действительно использовал пострезкий.
Пострезкие работы путем переплетения во время компиляции. Это реклама постшаг компиляции к Вашей сборке, где это изменяет Ваш код. Код компилируется, как будто Вы просто запрограммировали сквозные проблемы в Вас код. Это более производительно, чем переплетение во время выполнения и из-за использования Пострезких атрибутов очень просто в использовании. Я думаю с помощью атрибутов для AOP, не так проблематично как использование его для DI. Но это - просто мой персональный вкус.
, Но...
, Если Вы уже используете замок для внедрения зависимости, я не вижу серьезных оснований, почему Вы не должны также использовать его для материала AOP. Я думаю, хотя AOP во времени выполнения немного медленнее, чем во время компиляции, это также более мощно. AOP и DI являются, по-моему, связанными понятиями, таким образом, я думаю, что это - хорошая идея использовать одну платформу для обоих. Таким образом, я, вероятно, посмотрю на материал замка снова следующий проект, мне нужен AOP.
Несколько незначительных проблем с PostSharp...
Одна проблема, которую я имел с PostSharp, - то, что при использовании asp.net, номера строки для сообщений об исключениях отсутствуют количеством инструкций IL, введенных в блоки PostSharp, поскольку PDBs не введены также:-).
кроме того, без блоков PostSharp, доступных во времени выполнения, ошибки периода выполнения происходят. Используя Виндзор, квершлаги могут быть выключены позднее без того, чтобы перекомпилировать кода.
(надеюсь, что это имеет смысл)