Jon*_*ood 14 c# asp.net cookies asp.net-mvc
我的研究表明,如果我创建一个cookie并且没有设置过期日期,它将在浏览器关闭时到期.
所以我创建了一个像这样的cookie:
Response.Cookies.Set(new HttpCookie("MyKey", "X"));
Run Code Online (Sandbox Code Playgroud)
但是当我关闭浏览器然后重新打开它时,以下表达式等于true:
Request.Cookies["MyKey"] != null
Run Code Online (Sandbox Code Playgroud)
如何在浏览器会话结束时让cookie过期?
注意:出于我的目的,使用静态数据而不是cookie似乎是理想的.但我的理解是,ASP.NET可以出于各种原因重新启动,如果我丢失了这个设置,那么就可以从当前用户手中解决问题.
Jon*_*ood 17
似乎问题与Stober描述的一样.您可以通过将HttpCookie.Expires属性设置为DateTime.MinDate或根本不设置属性来将cookie设置为在浏览器会话结束时到期.
但是,至少在Chrome 停止设置的情况下,当浏览器关闭时,浏览器会话似乎不一定会结束.关闭然后重新打开时,Chrome浏览器会从中断处继续播放,就像会话永远不会结束一样.这包括在会话结束时继续使用Cookie设置到期.
我在FireFox上尝试了相同的代码.关闭并重新打开浏览器会导致cookie过期,完全符合预期.
因此,虽然有一些通用规则,但最终这种行为完全取决于浏览器.
| 归档时间: |
|
| 查看次数: |
25067 次 |
| 最近记录: |