我有一个MVC应用程序,其中控制器A调用了内部HTTPGET方法(由控制器B处理)。A有视图,B没有。
控制器B中的HTTPGET看起来像这样:
[HttpGet]
public String GetToken(string accessToken, string UID) {
....
// Log errors and other metrics
return someToken;
}
我想在我的B控制器上使用动作过滤器,该过滤器会为我记录错误。我确实需要在记录时通过HTTP GET传递的参数。如何将accessToken和UID传递到操作过滤器,以便可以对其进行记录。
我正在寻找的是这样的:控制器应该是这样的
[MyActionFilter]
[HttpGet]
public String GetToken(string accessToken, string UID) {
....
return someToken;
}
而动作过滤器应该记录日志
public class MyActionFilterAttribute : ActionFilterAttribute {
public override void onActionExecuted(HttpActionExecutedContext actionExecutedContext) {
// READ THE HTTP GET PARAMETERS AND DO THE LOGGING
}
}
您可以使用此:
public class MyActionFilterAttribute : ActionFilterAttribute {
public override void onActionExecuted(
ActionExecutedContext actionExecutedContext) {
// READ THE HTTP GET PARAMETERS AND DO THE LOGGING
actionExecutedContext.HttpContext.Request.QueryString; // HTTP GET
actionExecutedContext.HttpContext.Request.Params;
// HTTP GET / POST / COOKIE PARAMETERS As Key Value List
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句