implement AOP in .Net based on ContextAttribute, MessageSink and ContextBoundObject