9

我在使用 chrome 时遇到了 C# 中 cookie 的过期日期的问题。

这是我正在使用的代码:

public static void createCookie(Users u, DateTime expirationDate)
{
    HttpCookie loginCookie = new HttpCookie("cookie");
    loginCookie.Value = "somevalue";
    loginCookie.Expires = DateTime.UtcNow.AddDays(1d);
    HttpContext.Current.Response.Cookies.Add(loginCookie);
}

我已经通过 Fiddler 运行了这段代码,它确实返回了正确的到期日期。cookie 的过期日期在 Firefox 和 IE9 中也是正确的但是,当我在 chrome 中运行它时,过期日期总是设置为:Sun, 07 Dec 1969 03:28:36 GMT

始终在格林威治标准时间 3:28:36,它永远不会改变。任何关于为什么会发生这种情况的想法将不胜感激。谢谢!

我还尝试使用 DateTime.Now.AddDays(1d) 设置到期日期,结果相同。

4

1 回答 1

13

这是chrome当前版本的bug,是过期日期显示错误,不是实际过期时间,chrome会尊重你设置的值!

这是在他们的夜间版本中修复的错误的链接(验证为已修复 20.0.1132.7(官方版本 136817)):http ://code.google.com/p/chromium/issues/detail?id=125546

于 2012-06-05T00:33:28.777 回答