在操作过滤器中获取控制器操作的堆栈跟踪/堆栈帧

时间:2011-11-19 21:46:35

标签: c# .net asp.net-mvc reflection

ActionFilter中是否可以获取控制器操作的当前StackFrame

当我这样做时,

public override void OnActionExecuting(ActionExecutingContext filterContext)
{
   var stackTrace = new StackTrace();
   base.OnActionExecuting(filterContext);
}

stackTrace没有采取行动。

1 个答案:

答案 0 :(得分:1)

不,遗憾的是,由于在动作方法完成后(因此丢弃了堆栈帧)动作调用操作过滤器OnActionExecuting方法,堆栈帧将丢失。

如果这是您的意图,您可以使用filterContext以编程方式确定调用哪个操作方法。