0

msdn看来(页面底部的评论),如果您设置 HttpCookie 的 Expires 属性,它将成为存储在临时 Internet 文件夹中的持久 cookie。如果我希望它保留会话 cookie(这意味着当您关闭浏览器时,它就消失了),但仍想设置过期时间,比如 30 分钟,该怎么办?在使用 ASP.NET Membership API 时,可以在 web.config 中设置会话 cookie(身份验证 cookie)的过期时间,这意味着必须有一种方法可以设置会话 cookie 的过期时间。

4

3 回答 3

2

考虑到您的要求,我想说除非您有非常充分的理由使用 cookie,否则您应该使用该Session对象。

如果您没有在此 cookie 上存储“大量”信息和/或预计用户数量不会很大,这似乎是最佳选择。

于 2012-06-15T02:50:21.803 回答
1

你有没有尝试过这样的事情:

this.Response.Cookies["d"].Expires = DateTime.Now.AddMinutes(30);
于 2012-06-15T02:06:33.840 回答
1

您也许可以添加另一个 cookie(也是一个会话 cookie),其中包含一个 DateTime,它告诉您的应用程序第一个 cookie 的有效期。然后,每当您的应用程序读取第一个 cookie 时,它​​还会检查新 cookie 以查看它是否仍然有效。

我认为这或多或少是会员的做法。尽管在这种情况下只有一个 cookie,但该 cookie 包含多个字段(信息片段)。

于 2012-06-15T05:38:24.230 回答