/// <summary>
        ///     Execute Binding Method
        /// </summary>
        /// <param name="instance">MSMQ 处理器实现</param>
        /// <param name="msmqMsg">待处理 MSMQ 消息</param>
        public void Execute(TMsmqHandlerImpl instance, string msmqMsg)
        {
            ThrowHelper.ThrowIfNull(instance, "instance");
            ThrowHelper.ThrowIfNull(msmqMsg, "msmqMsg");

            var resObj = MsmqMessageJsonObject.Parse(msmqMsg);

            Execute(instance, resObj);
        }
        /// <summary>
        ///     Execute Binding Method
        /// </summary>
        /// <param name="instance">MSMQ 处理器实现</param>
        /// <param name="msg">待处理消息</param>
        internal void Execute(TMsmqHandlerImpl instance, MsmqMessageJsonObject msg)
        {
            ThrowHelper.ThrowIfNull(instance, "instance");
            ThrowHelper.ThrowIfNull(msg, "msg");
            ThrowHelper.ThrowIfNull(msg.HandlerName, "msg.HandlerName");
            ThrowHelper.ThrowIfNull(msg.JsonMessage, "msg.JsonMessage");

            var handlerMethod = m_MsmqContract_Cache.GetValue(msg.HandlerName);

            ThrowHelper.ThrowIfNull(handlerMethod, "handlerMethod");

            var msgType = handlerMethod.GetParameters()[0].ParameterType;
            var msgObj  = JsonHelper.DeserializeObject(msg.JsonMessage, msgType);

            ThrowHelper.ThrowIfNull(msgObj, "msgObj");

            //handlerMethod.FastInvoke(instance, new object[] { msgObj });
            handlerMethod.Invoke(instance, new[] { msgObj });
        }