【发布时间】:2013-07-18 04:29:27
【问题描述】:
我的研究表明,如果我创建了一个 cookie 并且没有设置过期日期,它会在浏览器关闭时过期。
所以我创建了一个这样的 cookie:
Response.Cookies.Set(new HttpCookie("MyKey", "X"));
但是当我关闭浏览器然后重新打开它时,下面的表达式等于 true:
Request.Cookies["MyKey"] != null
如何在浏览器会话结束时让 cookie 过期?
注意:就我的目的而言,使用静态数据而不是 cookie 似乎是理想的。但我的理解是,ASP.NET 可能会因多种原因重新启动,如果我丢失了此设置,这可能会从当前用户下拉出地毯。
【问题讨论】:
-
你想让服务器上的cookie在浏览器会话结束后过期吗?关闭浏览器后如何查看
Request.Cookies["MyKey"]的值? -
我想要客户端的 cookie,而不是服务器。当浏览器重新打开并重新加载页面时,我会在浏览器关闭后检查 cookie 的值。
-
“它会自动加载之前打开的页面” - 我怀疑您的浏览器启用了某种形式的“重新加载我之前的位置”设置。启用后,退出浏览器时浏览器会话不会结束;所以退出浏览器不会触发cookie的删除。
-
是的,这是 Chrome 中的相关设置:support.google.com/chrome/answer/95421
标签: c# asp.net asp.net-mvc cookies