我试图在我的asp.net mvc项目中使用Cookie
Cookie已创建且具有价值。但是我无法读懂它
我用这段代码创建了cookie:
HttpCookie cookie = new HttpCookie("UserSettings", "value");
cookie.Expires = DateTime.Now.AddDays(10);
HttpContext.Response.Cookies.Add(cookie);
此代码用于阅读:
return HttpContext.Request.Cookies["UserSettings"].Value;
但在阅读cookie时我有这个错误:
对象引用未设置为对象的实例
我真的很困惑为什么!我经常搜索,浪费了我的时间 我在哪里弄错了?
更新
我检查了开发人员工具chrome中的Application选项卡。 cookie存在。
答案 0 :(得分:0)
Request.Cookies
后是否正在阅读Response.Cookies.Add
?如果是,则它仍然为空,因为Request.Cookies
将填充下一个请求。HttpContext.Request.Cookies["UserSettings"]
可以返回空值。所以你应该先检查一下它的价值。答案 1 :(得分:0)
如果是,则在控制器的构造函数中读取Request属性它在控制器生命周期中的那一点上不存在。 你可以覆盖Initialize方法:
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
//check request context for cookie.
}