Beispiel #1
0
 public void AfterThrowing(CySoftException ex)
 {
     if (ex.Result != null && ex.Result.Level == ErrorLevel.Error)
     {
         TextLogHelper.WriterExceptionLog(ex);
     }
 }
Beispiel #2
0
        /// <summary>
        /// 处理错误
        /// </summary>
        #region protected void SystemError(Exception ex)
        protected void SystemError(Exception ex)
        {
            bool isAjaxRequest = IsAjaxRequest();

            if (isAjaxRequest)
            {
                Response.Expires      = -1;
                Response.CacheControl = "no-cache";
                Response.Charset      = "utf-8";
                Response.ContentType  = "application/json";
            }
            if (ex is HttpRequestValidationException)
            {
                if (isAjaxRequest)
                {
                    BaseResult br = new BaseResult();
                    br.Success = false;
                    br.Message.Add("操作失败!");
                    br.Message.Add("请求的内容中包含不安全的字符!(如:html代码,脚本语言)");
                    br.Level = ErrorLevel.Error;

                    Response.Write(JSON.Serialize(br));
                }
                else
                {
                    Response.Redirect("/Error/hazard");
                }
            }
            else if (ex is HttpCompileException)
            {
                if (isAjaxRequest)
                {
                    BaseResult br = new BaseResult();
                    br.Success = false;
                    br.Message.Add("系统错误!");
                    br.Message.Add("服务器发生错误,请联系管理员!");
                    br.Level = ErrorLevel.Error;

                    Response.Write(JSON.Serialize(br));
                }
                else
                {
                    Response.Redirect("/Error/500");
                }
            }
            else if (ex is SqlException)
            {
                if (isAjaxRequest)
                {
                    BaseResult br = new BaseResult();
                    br.Success = false;
                    br.Message.Add("系统错误!");
                    br.Message.Add("数据库服务器发生错误,请联系管理员!");
                    br.Level = ErrorLevel.Error;

                    Response.Write(JSON.Serialize(br));
                }
                else
                {
                    Response.Redirect("/Error/sql");
                }
            }
            else if (ex is ExternalException)
            {
                if (isAjaxRequest)
                {
                    BaseResult br = new BaseResult();
                    br.Success = false;
                    br.Message.Add("系统错误!");
                    br.Message.Add("请求的服务器地址不存在,请联系管理员!");
                    br.Level = ErrorLevel.Error;

                    Response.Write(JSON.Serialize(br));
                }
                else
                {
                    Response.Redirect("/Error/404");
                }
            }
            else if (ex is CySoftException)
            {
                CySoftException cyex = (CySoftException)ex;
                if (isAjaxRequest)
                {
                    Response.Write(JSON.Serialize(cyex.Result));
                }
                else
                {
                    if (cyex.Message.Contains("您未登录或登录已超时"))
                    {
                        Response.Redirect("/Account/Login");
                    }
                    else
                    {
                        Response.Redirect("/Error/cy");
                    }
                }
            }
            else
            {
                if (isAjaxRequest)
                {
                    BaseResult br = new BaseResult();
                    br.Success = false;
                    br.Message.Add("系统错误!");
                    br.Message.Add("服务器发生错误,请联系管理员!");
                    br.Level = ErrorLevel.Error;
                    Response.Redirect("/Account/Login");
                    Response.Write(JSON.Serialize(br));
                }
                else
                {
                    Response.Redirect("/Error/500");
                }
            }
        }