Я только некоторое время смотрел на замок-виндзор (пока), поэтому я не могу это комментировать, но я использовал postharp.
Postsharp работает путем плетения во время компиляции. Он рекламирует шаг после компиляции в вашу сборку, где он изменяет ваш код. Код компилируется так, как будто вы просто запрограммировали сквозные задачи в свой код. Это немного более производительно, чем ткачество во время выполнения, и из-за использования атрибутов Postsharp очень прост в использовании. Я думаю, что использование атрибутов для AOP не так проблематично, как использование его для DI. Но это только мой личный вкус.
Но ...
Если вы уже используете замок для внедрения зависимостей, я не вижу веской причины, почему вы не должны также использовать его для AOP. Я думаю, что хотя AOP во время выполнения немного медленнее, чем во время компиляции, он также более мощный. AOP и DI, на мой взгляд, связаны между собой понятиями, поэтому я думаю, что было бы неплохо использовать одну среду для обоих. Так что я, наверное, еще раз посмотрю на вещи из замка в следующем проекте, который мне нужен.