gpt4 book ai didi

asp.net - 将动态变量从 Controller 的 HTTPGET 方法传递给自定义操作过滤器

转载 作者:行者123 更新时间:2023-12-04 04:45:07 26 4
gpt4 key购买 nike

我有一个 MVC 应用程序,其中 Controller A 调用内部 HTTPGET 方法(由 Controller B 处理)。 A 有 View ,B 没有。

Controller B 中的 HTTPGET 如下所示:

[HttpGet]
public String GetToken(string accessToken, string UID) {
....
// Log errors and other metrics
return someToken;
}

我想在我的 B Controller 中使用一个 Action 过滤器,它为我记录错误。我确实需要在记录时通过 HTTP GET 传递的参数。我如何将 accessToken 和 UID 传递给操作过滤器,以便我可以记录它。

我正在寻找的是这样的:
Controller 应该是这样的
[MyActionFilter]
[HttpGet]
public String GetToken(string accessToken, string UID) {
....
return someToken;
}

而 Action 过滤器应该进行日志记录
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
}
}

关于asp.net - 将动态变量从 Controller 的 HTTPGET 方法传递给自定义操作过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18327632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com