使用 asp.net web api 读取 cookie

Posted

技术标签:

【中文标题】使用 asp.net web api 读取 cookie【英文标题】:Reading cookie using asp.net web api 【发布时间】: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。

【问题讨论】:

【参考方案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();

【讨论】:

以上是关于使用 asp.net web api 读取 cookie的主要内容,如果未能解决你的问题,请参考以下文章