public void ProcessRequest(HttpContext context) { try { context.Response.ContentType = "text/plain"; HttpRequest Request = context.Request; HttpResponse Response = context.Response; //防止数据泄露,以后可以去掉 if (Request.RequestType.Trim().ToLower() == "get" && Request.QueryString["controller"] != "gloab" && Request.QueryString["controller"] != "checkcode") { HandlerResponse hresult = new HandlerResponse { Result = -1, Message = "不支持GET请求" }; Response.Write(hresult.ToString()); } else { string handlerName = Request.Params["controller"]; if (string.IsNullOrEmpty(handlerName) && string.IsNullOrEmpty(Request.QueryString["controller"])) return; AppHandlerManager.ExecuteHandler(handlerName, HttpContext.Current, Request.QueryString["action"]); } context.ApplicationInstance.CompleteRequest(); } catch (Exception ex) { if (ex is ThreadAbortException) { } Logger.CurrentLog.Error(ex.Message, ex); } }
private void AjaxUrl_BeginRequest(object sender, EventArgs e) { HttpContext context = ((HttpApplication)sender).Context; string requestPath = context.Request.Path.Trim('/').ToLower(); if (requestPath.Contains("ajax/")) {//符合ajax请求的内容 string[] controls = requestPath.Substring(0, requestPath.IndexOf('?')).Split('/'); context.Response.ContentType = "text/plain"; HttpRequest Request = context.Request; HttpResponse Response = context.Response; //防止数据泄露,以后可以去掉 if (Request.RequestType.Trim().ToLower() == "get" && controls[1] != "gloab" && controls[1] != "checkcode") { HandlerResponse hresult = new HandlerResponse { Result = -1, Message = "不支持GET请求" }; Response.Write(hresult.ToString()); } else { /*control的操作对象*/ string handlerName = controls[1]; if (string.IsNullOrEmpty(handlerName)) return; AppHandlerManager.ExecuteHandler(handlerName, HttpContext.Current, controls[2]); } context.ApplicationInstance.CompleteRequest(); } }
/// <summary> /// 创建结果 /// </summary> /// <param name="resultCode"></param> /// <param name="Message"></param> /// <returns></returns> public string CreateResult(int resultCode, object Message) { HandlerResponse result = new HandlerResponse(); result.Result = resultCode; result.Message = Message; return result.ToString(); }