Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取控制器操作在操作筛选器中的StackTrace/StackFrame_C#_.net_Asp.net Mvc_Reflection - Fatal编程技术网

C# 获取控制器操作在操作筛选器中的StackTrace/StackFrame

C# 获取控制器操作在操作筛选器中的StackTrace/StackFrame,c#,.net,asp.net-mvc,reflection,C#,.net,Asp.net Mvc,Reflection,在ActionFilter中,是否可以获取控制器操作的当前StackFrame 当我这样做的时候 public override void OnActionExecuting(ActionExecutingContext filterContext) { var stackTrace = new StackTrace(); base.OnActionExecuting(filterContext); } stackTrace没有该操作。否,不幸的是,在操作方法完成后调用action

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

当我这样做的时候

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

stackTrace
没有该操作。

否,不幸的是,在操作方法完成后调用action filter OnActionExecuting方法(因此堆栈帧被丢弃),堆栈帧将丢失


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

我知道我可以,我只需要一个
堆栈框架
。在这种情况下,您需要从操作方法中调用堆栈跟踪检查方法。如果这是一个通用问题,您可能会发现诸如PostSharp之类的AOP工具很有用。