gpt4 book ai didi

c# - Controller.OnException 是否在 ExceptionFilter 之前被调用?

转载 作者:太空狗 更新时间:2023-10-30 01:34:39 25 4
gpt4 key购买 nike

在这里尝试理解 MVC 管道:

顺序好像是这样的:

  1. 授权过滤器
  2. OnActionExecuting
  3. Action 执行
  4. OnActionExecuted
  5. OnResultExecuting
  6. 创建操作结果
  7. OnResultExecuted
  8. 写入响应流

Controller.OnException 什么时候相对于 ExceptionFilterAttribute.OnException 运行?

最佳答案

它可能在某处有记录,至少在源代码中,但我只是运行了这个小实验:

// in MyHandleErrorAttribute, globally configured
public override void OnException(ExceptionContext filterContext)
{
Debug.Print("HandleErrorAttribute.OnException 1");
base.OnException(filterContext);
Debug.Print("HandleErrorAttribute.OnException 2");
}

...

// in HomeController
protected override void OnException(ExceptionContext filterContext)
{
Debug.Print("Controller OnException 1");
base.OnException(filterContext);
Debug.Print("Controller OnException 2");
}

输出窗口显示:

HandleErrorAttribute.OnException 1
HandleErrorAttribute.OnException 2
Controller OnException 1
Controller OnException 2

关于c# - Controller.OnException 是否在 ExceptionFilter 之前被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29880689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com