Esempio n. 1
0
        public void ProcessRequest(HttpContext context)
        {
            CurrentContext = context;

            #region 对象输出设置
            context.Response.Buffer = true;
            context.Response.ExpiresAbsolute = DateTime.Now.AddMilliseconds(-1);
            context.Response.Expires = 0;
            context.Response.Cache.SetNoStore();                        // 禁用缓存
            context.Response.Clear();                                   // 清除输出
            context.Response.CacheControl = "no-cache";
            context.Response.AppendHeader("Pragma", "No-Cache");
            context.Response.ContentType = "text/json";
            #endregion

            #region 基本请求校验
            var requestinfo = context.Request;                          //HttpRequest

            if (requestinfo.UrlReferrer == null || requestinfo.UrlReferrer.Host != requestinfo.Url.Host)
            {
                Outmsg("非正常请求"); return;
            }
            #endregion

            #region 获取请求对象
            string requestData = string.Empty;                          //请求参数
            string requestType = requestinfo.RequestType.ToUpper();     //请求方式
            if (requestType == "POST")
            {
                var iptStream = HttpContext.Current.Request.InputStream;
                var byts = new byte[iptStream.Length];
                HttpContext.Current.Request.InputStream.Read(byts, 0, byts.Length);
                requestData = System.Text.Encoding.UTF8.GetString(byts);
            }
            else if (requestType == "GET")
            {
                requestData = Q(KeyCenter.KeyAjaxActionNameWhenGet);
            }
            #endregion

            #region 分析请求对象
            if (!string.IsNullOrWhiteSpace(requestData))
            {
                ActionParama = JsonUtils.DeserializeObject<AjaxParama>(requestData);
                if (ActionParama == null) { Outmsg("请求错误"); return; }
            }
            #endregion

            switch (ClientAction)
            {
                #region 方法

                case "updateconstr":
                    UpdateConstr();
                    break;
                case "getalltable":
                    GetAllTable();
                    break;
                case "gettableinfo":
                    GetTableInfo();
                    break;
                case "gettablemark":
                    GetTableMark();
                    break;
                case "deletefield":
                    DeleteField();
                    break;
                case "addfield":
                    AddField();
                    break;
                case "mark":
                    Mark();
                    break;
                case "scence":
                    Sence();
                    break;
                case "tablemark":
                    TableMark();
                    break;

                case "gencodelib":
                    GenCodeLibrary();
                    break;
                case "getcodelib":
                    GetCodeLibrary();
                    break;
                case "deletecodelib":
                    DelCodeLibrary();
                    break;

                case "makejson":
                    MakeJson();
                    break;
                case "makeclass":
                    MakeClass();
                    break;

                #endregion

                default:
                    Outmsg("请求无效");
                    break;
            }
        }
Esempio n. 2
0
        public void ProcessRequest(HttpContext context)
        {
            CurrentContext = context;

            #region 对象输出设置
            context.Response.Buffer          = true;
            context.Response.ExpiresAbsolute = DateTime.Now.AddMilliseconds(-1);
            context.Response.Expires         = 0;
            context.Response.Cache.SetNoStore();                        // 禁用缓存
            context.Response.Clear();                                   // 清除输出
            context.Response.CacheControl = "no-cache";
            context.Response.AppendHeader("Pragma", "No-Cache");
            context.Response.ContentType = "text/json";
            #endregion

            #region 基本请求校验
            var requestinfo = context.Request;                          //HttpRequest

            if (requestinfo.UrlReferrer == null || requestinfo.UrlReferrer.Host != requestinfo.Url.Host)
            {
                Outmsg("非正常请求"); return;
            }
            #endregion

            #region 获取请求对象
            string requestData = string.Empty;                          //请求参数
            string requestType = requestinfo.RequestType.ToUpper();     //请求方式
            if (requestType == "POST")
            {
                var iptStream = HttpContext.Current.Request.InputStream;
                var byts      = new byte[iptStream.Length];
                HttpContext.Current.Request.InputStream.Read(byts, 0, byts.Length);
                requestData = System.Text.Encoding.UTF8.GetString(byts);
            }
            else if (requestType == "GET")
            {
                requestData = Q(KeyCenter.KeyAjaxActionNameWhenGet);
            }
            #endregion

            #region 分析请求对象
            if (!string.IsNullOrWhiteSpace(requestData))
            {
                ActionParama = JsonUtils.DeserializeObject <AjaxParama>(requestData);
                if (ActionParama == null)
                {
                    Outmsg("请求错误"); return;
                }
            }
            #endregion

            switch (ClientAction)
            {
                #region 方法

            case "updateconstr":
                UpdateConstr();
                break;

            case "getalltable":
                GetAllTable();
                break;

            case "gettableinfo":
                GetTableInfo();
                break;

            case "gettablemark":
                GetTableMark();
                break;

            case "deletefield":
                DeleteField();
                break;

            case "addfield":
                AddField();
                break;

            case "mark":
                Mark();
                break;

            case "scence":
                Sence();
                break;

            case "tablemark":
                TableMark();
                break;

            case "gencodelib":
                GenCodeLibrary();
                break;

            case "getcodelib":
                GetCodeLibrary();
                break;

            case "deletecodelib":
                DelCodeLibrary();
                break;

            case "makejson":
                MakeJson();
                break;

            case "makeclass":
                MakeClass();
                break;

                #endregion

            default:
                Outmsg("请求无效");
                break;
            }
        }