MVC4 localhost中的Cookie

时间:2013-09-16 10:12:25

标签: c# asp.net-mvc-4 cookies

我有以下代码:

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

1 个答案:

答案 0 :(得分:5)

我认为问题出在myCookie.Expires.AddMonths(1)。 如果我没有弄错的话,Expires的默认值为0001/01/01,如果您添加一个月,则过期时间为0001/02/01/,小于今天。

你能尝试一下吗? myCookie.Expires = DateTime.Now.AddMonths(1);