c# – Cookies始终过期

前端之家收集整理的这篇文章主要介绍了c# – Cookies始终过期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在设置一个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值才有意义.

猜你在找的C#相关文章