加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Cookies始终过期

发布时间:2020-12-15 04:05:39 所属栏目:百科 来源:网络整理
导读:我正在设置一个cookie: HttpCookie cookie = new HttpCookie("simpleorder");cookie.Expires = DateTime.Now.AddYears(1);cookie["order"] = carModel.ToString();cookie["price"] = price.ToString();Response.Cookies.Add(cookie); 但是当我几秒钟后检查
我正在设置一个cookie:
HttpCookie cookie = new HttpCookie("simpleorder");
cookie.Expires = DateTime.Now.AddYears(1);
cookie["order"] = carModel.ToString();
cookie["price"] = price.ToString();
Response.Cookies.Add(cookie);

但是当我几秒钟后检查它已经过期,到期日期设置为{01-01-0001 00:00:00}.我尝试通过检索代码

HttpCookie cookie = Request.Cookies["simpleorder"];
 if (cookie != null && cookie.Expires > DateTime.Now)...

我不清楚cookie的任何地方,所以我不知道为什么它过期?

解决方法

这是常见的误解.请求Cookie集合表示请求Cookie标头中包含的Cookie.此类Cookie不包含有关何时到期的任何信息.严格来说,.NET应该使用两种不同的类型(RequestCookie和ResponseCookie),而是选择在两种情况下使用相同的类型.

当向响应添加Cookie时,Expires值才有意义.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读