我有以下代码:
public class CookieHelper
{
public static void SetCookie(string name, string value)
{
HttpCookie myCookie = new HttpCookie(name);
myCookie.Value = value;
myCookie.Expires.AddMonths(1);
HttpContext.Current.Response.Cookies.Add(myCookie);
}
public static HttpCookie GetCookie(string name)
{
return HttpContext.Current.Request.Cookies[name];
}
}
我用它来记住下拉列表中最后使用的选项。至于现在,我只是直接从VS2012(localhost)运行应用程序。只要我运行应用程序,这就可以工作。但是一旦我停止它,然后重新运行它,就找不到cookie。这是设计,还是我做错了什么?
答案 0 :(得分:5)
我认为问题出在myCookie.Expires.AddMonths(1)
。
如果我没有弄错的话,Expires
的默认值为0001/01/01
,如果您添加一个月,则过期时间为0001/02/01/
,小于今天。
你能尝试一下吗? myCookie.Expires = DateTime.Now.AddMonths(1);