/// <summary>
        /// 具体处理信息并指向具体返回响应用户方法
        /// </summary>
        /// <returns></returns>
        protected virtual ResponseRootMsg ToHandlerMessage()
        {
            ResponseRootMsg response = null;

            switch (CurrentRootMsg.MsgType)
            {
            case RequestMsgType.Text:
                response = OnTextRequest(CurrentRootMsg as RequestTextMsg);
                break;

            case RequestMsgType.Location:
                response = OnLocationRequest(CurrentRootMsg as RequestLocationMsg);
                break;

            case RequestMsgType.Image:
                response = OnImageRequest(CurrentRootMsg as RequestImageMsg);
                break;

            case RequestMsgType.Voice:
                response = OnVoiceRequest(CurrentRootMsg as RequestVoiceMsg);
                break;

            case RequestMsgType.Video:
                response = OnVideoRequest(CurrentRootMsg as RequestVideoMsg);
                break;

            case RequestMsgType.Link:
                response = OnLinkRequest(CurrentRootMsg as RequestLinkMsg);
                break;

            case RequestMsgType.ShortVideo:
                response = OnShortVideoRequest(CurrentRootMsg as RequestShortVideoMsg);
                break;

            case RequestMsgType.Event:
            {
                RequestEventRootMsg eventRootMsg = CurrentRootMsg as RequestEventRootMsg;
                switch (eventRootMsg.Event)
                {
                case RequestEventType.Subscribe:
                    response = OnEvent_SubscribeRequest(eventRootMsg as RequestSubscribeEventMsg);
                    break;

                case RequestEventType.UnSubscribe:
                    response = OnEvent_UnSubscribeRequest(eventRootMsg as RequestUnSubscribeEventMsg);
                    break;

                default:
                    break;
                }
            }
            break;

            default:
                break;
            }
            return(response);
        }
        /// <summary>
        /// 执行操作
        /// </summary>
        /// <returns></returns>
        protected string ExecuteResult()
        {
            //1、执行之前操作
            OnActionExecuting(CurrentRootMsg);
            //2、开始执行
            ResponseRootMsg response = ToHandlerMessage();
            string          xml      = response.ToXml();

            //3、执行之后操作
            OnActionExecuted(CurrentRootMsg);
            return(xml);
        }
        /// <summary>
        /// 具体处理信息并指向具体返回响应用户方法
        /// </summary>
        /// <returns></returns>
        public virtual ResponseRootMsg ToHandlerMessage()
        {
            ResponseRootMsg response = null;

            switch (CurrentRootMsg.MsgType)
            {
            case RequestMsgType.Text:
                response = OnTextRequest(CurrentRootMsg as RequestTextMsg);
                break;

            case RequestMsgType.Location:
                response = OnLocationRequest(CurrentRootMsg as RequestLocationMsg);
                break;

            case RequestMsgType.Image:
                response = OnImageRequest(CurrentRootMsg as RequestImageMsg);
                break;

            case RequestMsgType.Voice:
                response = OnVoiceRequest(CurrentRootMsg as RequestVoiceMsg);
                break;

            case RequestMsgType.Video:
                response = OnVideoRequest(CurrentRootMsg as RequestVideoMsg);
                break;

            case RequestMsgType.Link:
                response = OnLinkRequest(CurrentRootMsg as RequestLinkMsg);
                break;

            case RequestMsgType.ShortVideo:
                response = OnShortVideoRequest(CurrentRootMsg as RequestShortVideoMsg);
                break;

            case RequestMsgType.Event:
                break;

            default:
                break;
            }
            return(response);
        }