asp.net-mvc 简单属性
示例
using System;
using System.Web;
using System.Web.Mvc;
namespace Example.SDK.Filters
{
[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)]
public sealed class CustomErrorHandlerFilter : HandleErrorAttribute
{
public override void OnException(ExceptionContext filterContext)
{
//RouteDate对于检索信息(例如控制器,操作或其他路由值)很有用
string controllerName = filterContext.RouteData.Values["controller"].ToString();
string actionName = filterContext.RouteData.Values["action"].ToString();
string exception = filterContext.Exception.ToString(); //完整的异常堆栈
string message = filterContext.Exception.Message; //异常给出的消息
//在数据库中记录异常
LogExtensions.Insert(exception.ToString(), message, controllerName + "." + actionName);
base.OnException(filterContext);
}
}
}然后放入FilterConfig.cs
filters.Add(new CustomErrorHandlerFilter());