使用过滤器的程序包中的错误处理,但缺少参考

时间:2019-06-27 13:28:50

标签: c#

我试图通过简单地在方法上方添加一个[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项目的引用选择中没有。

目标是,如果他们调用这种类型的过滤器,它将把任何异常记录到该过滤器中。

1 个答案:

答案 0 :(得分:0)

在MVC项目中,您应该使用此

Django's

在WebAPI项目中

public override void OnException(ExceptionContext context)