gpt4 book ai didi

c# - 跳过 OnActionExecuted 执行

转载 作者:太空狗 更新时间:2023-10-29 23:32:36 25 4
gpt4 key购买 nike

我制作了一个实现了 OnActionExecuted 方法的 ActionFilterAttribute。也就是说,它在 Action 方法之后运行。但是,在某些情况下,我希望 OnActionExecuted 不被执行。

如何从 Action 方法中阻止执行 ActionFilter?

现在,我做了这个:

关于Action方法:

RouteData.Values.Add("CancelActionFilter", true);

在 ActionFilter.OnActionExecuted() 上:

if (filterContext.RouteData.Values["CancelActionFilter"] != null)
{
return;
}

但我认为可能存在更优雅的方法。

最佳答案

OnActionExecuted 在 ControllerActionInvoker 类的 InvokeActionMethodFilter 方法中调用。

在这个方法中没有任何东西可以阻止被执行的 Action 。我认为您的解决方案很好。

Code of ControllerActionInvoker class

关于c# - 跳过 OnActionExecuted 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15041739/

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