asp.net - ASP.NET MVC 中过去的 Cookie 过期日期

标签 asp.net asp.net-mvc cookies http-headers

我正在编写/更新 cookie,但是每次我执行此操作并查看 chrome 开发工具时,它都会告诉我 cookie 已在 30 分钟前过期,而不是从现在起 30 分钟后过期。

HttpCookie cookie;

if (Request.Cookies.AllKeys.Contains(name))
{
  cookie = Request.Cookies[name];
}
else
{
  cookie = new HttpCookie(name);
}

cookie.Value = value;
cookie.Expires = DateTime.Now.AddMinutes(30);
Response.Cookies.SetCookie(cookie);

有人知道为什么会发生这种情况吗?

最佳答案

您在哪个时区?例如,如果您使用 UTC - 1,则:

  • 当前本地时间为 12:00
  • UTC 时间为 13:00
  • Cookie 将于 12:30 过期(因为您没有使用 UtcNow)
  • 浏览器可能认为 12:30 是 UTC 时间,因此是过去的时间。

这有点合理,所以要持保留态度!

关于asp.net - ASP.NET MVC 中过去的 Cookie 过期日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43677855/

相关文章:

asp.net - 如何从代码隐藏更改按钮的 OnClick 操作

c# - 有没有办法在不使用 System.Management.Automation 的情况下捕获 powershell 脚本执行的输出

c# - 在基于DLL更改的.NET项目中实现缓存清除的最佳方法是什么?

c# - CSHTML 在元素 ID 中使用 C# 变量

asp.net - 提供的 URI 方案 'https' 无效;预期 'http' 。参数名称 : via

c# - 从 C# 服务器端,是否有生成 TreeMap 并另存为图像的方法?

asp.net-mvc - 在 MVC 4 中更改密码

cookies - 如何检索 ASP cookie 的 'Expires' 属性值?

python - Flask 永久 session : where to define them?

javascript - 多个链接/Java/DOM/Cookie?