/// <summary>
        /// 同步
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        public IMessage SyncProcessMessage(IMessage msg)
        {
            IMessage message = null;

            //方法调用接口
            IMethodCallMessage callMessage = msg as IMethodCallMessage;

            //如果被调用的方法没打MethodAttribute标签
            if (callMessage == null || (Attribute.GetCustomAttribute(callMessage.MethodBase, typeof(AOPMethodAttribute))) == null)
            {
                message = nextSink.SyncProcessMessage(msg);
            }
            else
            {
                AOPMethodAttribute attribute = (AOPMethodAttribute)Attribute.GetCustomAttribute(callMessage.MethodBase, typeof(AOPMethodAttribute));
                PreProceed(msg, attribute);
                message = nextSink.SyncProcessMessage(msg);
                PostProceed(message, attribute);
            }
            return(message);
        }
        /// <summary>
        /// 方法执行后
        /// </summary>
        /// <param name="msg">消息</param>
        public void PostProceed(IMessage msg, AOPMethodAttribute attribute)
        {
            IMethodReturnMessage message = (IMethodReturnMessage)msg;

            attribute.PostProceed?.Invoke(message, attribute.Info);
        }