I think there is a bit of confusion there between an AOP framework and a Policy Injection pattern. One thing is using a handlers pipeline with Enterprise Library and another is using a Framework like Mono.Cecil or PostSharp to change the behaviors of a program (i.e. to weave a program) at run or compile time.
From the MSDN website:
The implementation of a system that automatically creates a proxy and
handler pipeline for methods is similar to the aspect-oriented
programming (AOP) approach. However, the Policy Injection Application
Block is not an AOP framework implementation for the following
reasons:
- It uses interception to enable only pre-processing handlers
and post-processing handlers.
- It does not insert code into methods.
- It does not provide interception for class constructors.
Using custom interception/policy injection is good if you want to add support for cross-cutting concern but it has the draw back of keeping a configuration (e.g. registering) your interceptors (which in big code bases could be a problem). You should take into account the performance aspect as well. Custom interception is handled internally by EL using the RealProxy class which uses reflection to call the registered methods.
Using a pure AOP solution would be different as IL code is emitted and injected so it should have better performance too.