PostSharp и DynamicProxy2 Интерфейс Перехват - PullRequest
3 голосов
/ 24 марта 2011

В прошлом я использовал PostSharp для выполнения AOP, и я проверял AOP с помощью Autofac и DynamicProxy2, и мне любопытно, есть ли какие-либо преимущества одного из других.один более надежный, тестируемый, стабильный, производительный и т. д. и т. д., чем другой?

Спасибо.

Ответы [ 2 ]

5 голосов
/ 25 марта 2011

Чтобы лучше объяснить, что сказал @jgauffin, PostSharp использует переписывание MSIL после того, как компилятор соберет ваш C # и вставит написанный вами код в конкретные точки, которые вы задали для аспекта. PostSharp выходит за рамки этого и делает много проверок для оптимизации, чтобы помочь добиться максимальной производительности. См. http://programmersunlimited.wordpress.com/2011/03/23/postsharp-weaving-community-vs-professional-reasons-to-get-a-professional-license/ для получения дополнительной информации об этом.

DynamicProxy2 генерируется JIT, что означает время выполнения. IMO, если вы просто имеете дело со сквозными проблемами, тогда используйте AOP-фреймворк времени компиляции, такой как PostSharp. Но если вам нужны динамические изменения во время выполнения, PostSharp не для вас.

0 голосов
/ 24 марта 2011

PostSharp запускается во время компиляции, поэтому он должен быть быстрее.(Он вставляет свой код в ваши сборки)

...