About a week ago, news from the Enterprise Library team that there will be a new application block know as Policy Injection Application Block. Basically this AB behaves as a AOP framework. I won’t call this a AOP framework as yet (althought there are similarity) until the AB is release later. Edward Jezierski posted an architecture overview of PIAB here.
Currently I am testing out Puzzle’s NAspect for my projects. I had look at Spring.NET, Castle and Aspect.NET (Aspect.NET has got help from Microsoft Research and they use the Pheonix framework) and one advantage of Puzzle is its “light weightness” without loading the whole framework. With the source code provided I can trim down the assembly and embed it into my projects.
One thing I favors in PIAB is the use of attribute in theÂ rules condition, ie. apply the handlers to all method with a tag [Tag(“Audit”)] instead of checking for class & method name signature. Althought PIAB will have function for both methods, which gives users more flexibility.
Yet to see is how to put a AOP/ PIABÂ handler on web application especially presenter classes created using Web Client Software Factory and Web Services Software Factory. As pointed out by Patrik LÃ¶wendahl in his blog there might be some obstacles using this because most AOP frameworkÂ make use of remoting proxy class (such as Puzzle’s NAspect and PIAB).Â This is one area I will do some research when PIAB comes out to test out how WebSF work with PIAB.