未设置Cookie到期日期

时间:2016-05-09 09:12:03

标签: c# asp.net cookies

这是我的get

protected string Identifier
{
    get
    {
        HttpCookie cookie = Request.Cookies[IDENTIFIER_COOKIE];

        if (cookie != null)
        {
            return cookie.Value;
        }
        else
        {
            cookie = new HttpCookie(IDENTIFIER_COOKIE);
            cookie.Value = Guid.NewGuid().ToString();
            cookie.Expires = DateTime.Now.AddYears(1);
            Response.Cookies.Add(cookie);

            return cookie.Value;
        }
    }
}

在本地运行我的项目时,cookie的到期日期设置为预期

local

但是当我实时运行时,Cookie的到期日期为浏览会话结束时

live

我做错了什么?

2 个答案:

答案 0 :(得分:0)

在做任何其他事情之前,我建议您清除缓存和Cookie。

protected string Identifier
{
    get
    {
        HttpCookie cookie = Request.Cookies[IDENTIFIER_COOKIE];

        if (!cookie)
        {
            cookie = new HttpCookie(IDENTIFIER_COOKIE);
            cookie.Value = Guid.NewGuid().ToString();
        }Cookie.Expires = DateTime.Now.AddYears(1);
        Response.Cookies.Set(cookie);

        return cookie.Value
    }
}

答案 1 :(得分:0)

问题是我的网页是在HTTPS上提供的。我必须指定cookie.Secure = true来设置到期日期。