使用 System.Windows.Application.SetCookie 创建持久 cookie 失败

本文关键字:cookie 失败 创建 SetCookie System Windows Application 使用 | 更新日期: 2023-09-27 18:35:56

我正在尝试创建一个持久的cookie。这是代码:

string expires = string.Format("{0} GMT", DateTime.Now.AddHours(1).ToString("ddd, dd-MMM-yyyy HH:mm:ss"));
string newCookie = string.Format("Cookie1=ValueToStore; expires={0}", expires);
Uri location = new Uri("http://www.mysite.com/Application");
System.Windows.Application.SetCookie(location, newCookie);
string theSetCookie = System.Windows.Application.GetCookie(location);

字符串theSetCookie应该包含 cookie 中的所有数据,不是吗?但是它只包含Cookie1=ValueToStore; .我错过了什么?为什么到期日期没有进入并使其成为持久性 cookie?

注意:我在 Windows 7 中使用 Internet Explorer 9

使用 System.Windows.Application.SetCookie 创建持久 cookie 失败

过期时间戳不是 Cookie 值的一部分。当您设置 cookie 时,您将其与一些给定参数一起设置(过期),但当您读取它时,您只读取值。

Cookie 过期不应驱动应用程序中的任何逻辑:

  • 如果由于经过一定时间而不再有效,则应反映在过期时间中
  • 如果 cookie 的有效期应该更长,则可以在不知道现有过期时间的情况下进行设置
  • 如果要删除过期(创建会话cookie),可以在不设置过期的情况下再次设置过期

这些方案都不需要知道过期时间戳。