如何查找发生错误的控制器/操作?

Ale*_*lex 21 asp.net error-handling asp.net-mvc

我正在记录我的OnException方法中发生的所有错误.

如何查找发生错误的控制器/操作?

Ode*_*ode 62

正如Charlino所暗示的那样,值可以从ExceptionContext参数获得:

protected override void OnException(ExceptionContext filterContext)
{
    var controllerName = filterContext.RouteData.Values["controller"];
    var actionName = filterContext.RouteData.Values["action"];

    // ...

    base.OnException(filterContext);
}
Run Code Online (Sandbox Code Playgroud)


SLa*_*aks -3

检查异常的调用堆栈。

例如:

var actionMethod = new StackTrace(exception)
    .GetFrames().FirstOrDefault(f => 
        typeof(IController).IsAssignableFrom(f.GetMethod().DeclaringType)
    ).GetMethod();
Run Code Online (Sandbox Code Playgroud)

  • 我相信他确实这样做了,根据他正在处理 OnException 方法中的错误的声明。 (4认同)