public void AfterThrowing(CySoftException ex) { if (ex.Result != null && ex.Result.Level == ErrorLevel.Error) { TextLogHelper.WriterExceptionLog(ex); } }
/// <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"); } } }