gpt4 book ai didi

asp.net - 将变量从 Web API Controller 方法传递到过滤器

转载 作者:行者123 更新时间:2023-12-02 04:28:32 24 4
gpt4 key购买 nike

我想将 appId 变量值发送到过滤器

// GET api/filter
[CustomFilter]
public IEnumerable<string> Get()
{

var appId = 123;
return new string[] { "value1", "value2" };
}

我可以使用 OnActionExecuting 或 OnActionExecuted 方法

public override void OnActionExecuting(HttpActionContext actionContext)
{
base.OnActionExecuting(actionContext);

//here i want to access appId value

}

我知道如何使用查询字符串访问参数值

最佳答案

在 Controller 操作方法中,设置请求对象的 Properties 字典中的值,如下所示:Request.Properties["AppId"] = 123;

在过滤器的 OnActionExecuted 方法中,按如下方式检索它:actionContext.Request.Properties["AppId"]

顺便说一句,如果在操作方法中设置了值,则必须使用过滤器的 OnActionExecuted 方法。 OnActionExecuting 方法在执行操作方法之前运行。

关于asp.net - 将变量从 Web API Controller 方法传递到过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25081946/

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