Beispiel #1
0
        protected override AppMgrResponse ProcessAction(string pAction, AppMgrRequest pRequest)
        {
            AppMgrResponse response = new AppMgrResponse()
            {
                ResultCode = 0, Message = "操作成功"
            };

            try
            {
                switch (pAction)
                {
                case "CheckAppVersion":
                    response.Data = API.ServiceAPI.CheckAppVersion(pRequest);
                    break;

                default:
                    throw new Exception("错误的接口:" + pAction);
                }
            }
            catch (Exception ex)
            {
                response.ResultCode = 100;
                response.Message    = ex.Message;
                Loggers.Exception(new ExceptionLogInfo(ex));
            }
            return(response);
        }
Beispiel #2
0
        public void ProcessRequest(HttpContext pContext)
        {
            AppMgrResponse req    = null;
            string         action = string.Empty;

            try
            {
                //认证
                this.Authenticate();
                //设置HTTP上下文的引用
                this.CurrentContext = pContext;
                //TODO:从QueryString和Form中获得action和reqContent
                action = pContext.Request["Action"];
                var request = HttpUtility.HtmlDecode(pContext.Request["request"]).DeserializeJSONTo <AppMgrRequest>();
                //处理请求
                req = this.ProcessAction(action, request);
            }
            catch (ThreadAbortException)//Response.End会通过ThreadAbortException来结束响应
            {
            }
            catch (Exception ex)
            {
                //记录日志
                Loggers.Exception(new ExceptionLogInfo(ex));
                //返回错误响应
                if (req == null)
                {
                    req = new AppMgrResponse();
                }
                req.ResultCode = 500;
                req.Message    = ex.Message;
                req.Data       = null;
            }
            //将req序列化成JSON返回
            if (req == null)
            {
                req            = new AppMgrResponse();
                req.ResultCode = 500;
                req.Message    = string.Format("无效的API请求操作[{0}].", action);
            }
            this.ResponseJSON(req);
        }