gpt4 book ai didi

c# - QueryString.Add 不向 ASP.NET Core 中的请求查询字符串添加值

转载 作者:太空宇宙 更新时间:2023-11-03 19:39:52 25 4
gpt4 key购买 nike

我正在编写一个中间件,我想在其中修改当前请求的查询字符串值,但我无法这样做。 afaik QueryString.Add 方法应该有效,但它不会影响查询字符串。这是我尝试过的。

public async Task Invoke(HttpContext context, IHeaderValue headerValue, IUser user)
{
var result = context.Request.Headers["Authorization"];

if (result.Count != 0)
{

headerValue.UserId = this.GetUserIdFromToken(result[0]);

var request = context.Request;

if (request.Method == "GET")
{
// It should be adding the new query value to the QueryString collection
// but it doesn't
request.QueryString.Add("CurrentUserId", headerValue.UserId.ToString());
}
}
}

我将非常感谢对此的任何帮助。

最佳答案

QueryString.Add返回包含给定名称和值的新 QueryString。它不会改变调用它的 QueryString

所以你需要做类似的事情

request.QueryString = request.QueryString.Add("A", "B");

关于c# - QueryString.Add 不向 ASP.NET Core 中的请求查询字符串添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55118363/

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