cookies - 你可以添加一个cookie来使用asp.net核心中间件请求吗?

标签 cookies asp.net-core request session-cookies middleware

我正在尝试在 ASP.net 核心管道中编写自定义中间件,作为我调用的一部分,想附加/添加 cookie,以便管道中的下一个中间件可以访问这些 cookie。

设置 cookie 值时出现编译错误。任何人都可以推荐解决这个问题。

注意:当我尝试使用 Response.Cookie 时,它​​可以工作,但唯一的问题是,cookie 仅反射(reflect)来自浏览器的下一个请求,但我需要在执行此操作后立即反射(reflect)管道中的下一个中间件。

下面的代码片段

  public async Task Invoke(HttpContext httpContext)
        {


            var queryParameters = httpContext.Request.Query;
            var cookies = httpContext.Request.Cookies;
            if (!cookies.ContainsKey(".AspNetCore.Session")
                || cookies[".AspNetCore.Session"] != "new_key")
            {

httpContext.Request.Cookies[".AspNetCore.Session"] = "new_key";


            }


            await _next.Invoke(httpContext);
        }

最佳答案

您不能在同一个请求中使用 cookie 的值。但是,您可以使用旧的 HttpContext.Items .

public async Task InvokeAsync(HttpContext context)
{
    context.Request.HttpContext.Items["key"] = "Hello!";
    await _next(context);
}

然后您将其检索为
var value = HttpContext.Items["key"];

关于cookies - 你可以添加一个cookie来使用asp.net核心中间件请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53175919/

相关文章:

javascript - 将 react-cookie 与 react redux 集成

asp.net - 到底如何在 ASP.NET 中配置 httpOnlyCookies?

javascript - Node.js 表单数据最终去了哪里?

javascript - Chrome 扩展和 Django : Verify whether third party cookies are allowed

c# - 在 HttpWebRequest 上设置 cookie 容器会导致超时,但帖子仍然会通过

c# - Polly 不会抛出一些异常?

json - 使用python将json和文件发送到flask

node.js - 点击 github API 端点时收到 401 "Bad Credentials"

.net - IdentityServer4 总是返回 "error": "invalid_scope"

c# - 仅当服务存在时,如何才能在 blazor 中注入(inject)服务?