protected virtual void AddBeforeAOPHandle(string methodName, BeforeAOPHandle beforeHandle) { lock (this.m_BeforeHandles) { if (!m_BeforeHandles.Contains(methodName)) { m_BeforeHandles.Add(methodName, beforeHandle); } } }
protected virtual void AddBeforeAOPHandle(string methodName, BeforeAOPHandle beforeHandle) { SortedList beforeHandles; Monitor.Enter(beforeHandles = this.m_BeforeHandles); try { if (!this.m_BeforeHandles.Contains(methodName)) { this.m_BeforeHandles.Add(methodName, beforeHandle); } } finally { Monitor.Exit(beforeHandles); } }
public IMessage SyncProcessMessage(IMessage msg) { IMethodCallMessage call = msg as IMethodCallMessage; string methodName = call.MethodName.ToUpper(); BeforeAOPHandle beforeHandle = FindBeforeAOPHandle(methodName); if (beforeHandle != null) { beforeHandle(call); } IMessage retMsg = m_NextSink.SyncProcessMessage(msg); IMethodReturnMessage reply = retMsg as IMethodReturnMessage; AfterAOPHandle afterHandle = FindAfterAOPHandle(methodName); if (afterHandle != null) { afterHandle(reply); } return(retMsg); }
public IMessage SyncProcessMessage(IMessage msg) { IMethodCallMessage methodCallMessage = msg as IMethodCallMessage; string methodName = methodCallMessage.MethodName.ToUpper(); bool flag = this.FindbeforeAOPMethod(methodCallMessage); BeforeAOPHandle beforeAOPHandle = this.FindBeforeAOPHandle(methodName); if (beforeAOPHandle != null && flag) { beforeAOPHandle(methodCallMessage); } IMessage message = this.m_NextSink.SyncProcessMessage(msg); IMethodReturnMessage replyMsg = message as IMethodReturnMessage; AfterAOPHandle afterAOPHandle = this.FindAfterAOPHandle(methodName); if (afterAOPHandle != null && flag) { afterAOPHandle(replyMsg); } return(message); }