【问题标题】:Reading cookie using asp.net web api使用 asp.net web api 读取 cookie
【发布时间】:2020-03-24 08:02:39
【问题描述】:

我有一个使用

设置 cookie 的 JavaScript 客户端
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2019 12:00:00 UTC";

我想使用 ASP.NET Web API(在 .NET 4.5 上运行)在服务器端读取这个 cookie,但是当我检查请求对象时,我看不到 cookie。

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-4 asp.net-core asp.net-web-api


    【解决方案1】:

    我不确定您指的是哪个版本的 Asp.Net,但根据:

    https://docs.microsoft.com/en-us/aspnet/web-api/overview/advanced/http-cookies

    您可以使用以下方式检索 cookie:

    var userName = Request.Headers.GetCookies("userName").FirstOrDefault()?["userName"].Value;
    

    在 web api 2 控制器中,您还需要引用 System.Net.Http

    【讨论】:

      【解决方案2】:

      如果您想在任何操作过滤器(例如授权)中使用 cookie,请使用以下代码访问它们。

      public override void OnAuthorization(HttpActionContext context)
      {
          var cookie = context.Request.Headers.GetCookies("your-cookie-name").FirstOrDefault();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-14
        • 2020-05-27
        • 2021-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多