0

我有以下代码:

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。这是设计使然,还是我做错了什么?

4

1 回答 1

5

我相信问题出在myCookie.Expires.AddMonths(1). 如果我没记错的话,默认值Expires0001/01/01如果你加一个月,过期时间就是0001/02/01/比今天少。

你可以试试这个吗?myCookie.Expires = DateTime.Now.AddMonths(1);

于 2013-09-16T10:19:16.863 回答