我正在尝试创建一个每个请求只运行一次的 ActionFilterAttribute,所以我正在做这样的事情。
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (filterContext.IsChildAction)
return;
// More stuff here
}
在某些情况下,我可能需要检查这filterContext.HttpContext.Request.IsAjaxRequest()也是错误的,但我真正的问题是如何判断它不是重定向。当 actionX重定向到 actionY时,过滤器运行两次 forX和一次 for Y(对于IsChildAction是 false Y)。
我试图在 上保存一些键filterContext.HttpContext.Items,这将告诉我过滤器已经运行,但这些项目不在 和 之间X共享Y。
有什么想法可以告诉我ActionExecutingContext这是重定向吗?