I just wanted to simplify communication between UI and BL. That took me to POCO objects and from FRANS's detailed thread about the issue I arrived to AOP (Aspect Oriented Programming) and code weaving (or as FRANS describes it IL manipulation).
I always felt that Security, Auditing, and even exception handling pollute the functional logic we carefully build in our BL classes. No matter what base/interface classes we try to design, the code ends up with intermixed business/infrastructure stuff (security, ...) that only makes maintenance harder and more expensive.
I wanted to start separating the security code from my functional code so AOP seemed a natural fit. Investigating around I came across PostSharp (http://www.postsharp.org/) and Cecil (http://mono-project.com/Cecil).
I really like PostSharp but hoped to hear some feedback from people who have ventured along this road before me.