使用 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的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Web API 无法从 POST 正文中读取