【发布时间】:2024-05-20 06:35:02
【问题描述】:
我的 MVC 应用程序中有一个控制器,我正在尝试使用自定义 ActionFilterAttribute 记录详细信息,方法是使用 onResultExecuted 方法。
I read this tutorial 来理解和编写我自己的动作过滤器。问题是如何将变量从控制器传递到动作过滤器?
- 我想获取调用控制器的输入变量。比如说用户名/用户 ID。
- 如果(在某些情况下)任何控制器方法抛出异常,我也想记录错误。
控制器 -
[MyActionFilter]
public class myController : ApiController {
public string Get(string x, int y) { .. }
public string somemethod { .. }
}
动作过滤器 -
public class MyActionFilterAttribute : ActionFilterAttribute {
public override void onActionExecuted(HttpActionExecutedContext actionExecutedContext) {
// HOW DO I ACCESS THE VARIABLES OF THE CONTROLLER HERE
// I NEED TO LOG THE EXCEPTIONS AND THE PARAMETERS PASSED TO THE CONTROLLER METHOD
}
}
我希望我已经解释了这里的问题。抱歉,如果我在这里遗漏了一些基本对象,我对此完全陌生。
【问题讨论】:
-
看看
HttpActionExecutedContext参数的ActionContext属性。
标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4