我正在尝试通过简单地在方法上方添加[Attribute]
来处理可以从方法中处理错误的软件包。
在我的包装中我有
public class RequestLogFilter : ExceptionFilterAttribute
{
public override void OnException(HttpActionExecutedContext filterContext)
{
Log(filterContext.Exception);
base.OnException(filterContext);
}
private void Log(Exception exception)
{
//log exception here..
}
}
当我尝试在我的MVC项目中使用它
[RequestLogFilter]
public async Task<ActionResult> Index()
它说Cannot access internal class here
。我的问题是,除了ExceptionFilterAttribute
之外,还有其他一些装饰器吗?它说我需要参考system.web.http,但是我在MVC项目中的参考选择中没有。
目标是,如果他们称这种类型的过滤器,它将记录任何例外。
在MVC项目中您应该使用此
public override void OnException(ExceptionContext context)
在WebAPI项目中
public override void OnException(HttpActionExecutedContext filterContext)