using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using cpf360.Common;
using cpf360.DTO; namespace hanli_project.Filters
{
public class HanliExceptionAttribute : IExceptionFilter
{
void IExceptionFilter.OnException(ExceptionContext filterContext)
{
Exception exception = filterContext.Exception;
if (filterContext.ExceptionHandled)
{
return;
} //返回数据
filterContext.Result = new JsonResult() { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = new OutputData() { data = null, code = -, message = "服务器繁忙" } }; //记录日志
Log4netHelper.LogError(exception); // 设置自定义异常已经处理,避免其他过滤器异常覆盖
filterContext.ExceptionHandled = true; // 在派生类重写时,设置或者重写一个值该值指定是否禁用ISS7.0中自定义错误
filterContext.HttpContext.Response.TrySkipIisCustomErrors = true; }
}
}
using System.Web;
using System.Web.Mvc;
using hanli_project.Filters; namespace hanli_project
{
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
//注册异常过滤器
filters.Add(new HanliExceptionAttribute());
filters.Add(new HandleErrorAttribute());
}
}
}