加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Cookie在浏览器会话结束时到期

发布时间:2020-12-15 18:08:07 所属栏目:百科 来源:网络整理
导读:我的研究表明,如果我创建一个cookie并且没有设置到期日期,那么在浏览器关闭时会过期. 所以我创建了一个这样的cookie: Response.Cookies.Set(new HttpCookie("MyKey","X")); 但是当我关闭浏览器然后重新打开它,下面的表达式等于true: Request.Cookies["MyKe
我的研究表明,如果我创建一个cookie并且没有设置到期日期,那么在浏览器关闭时会过期.

所以我创建了一个这样的cookie:

Response.Cookies.Set(new HttpCookie("MyKey","X"));

但是当我关闭浏览器然后重新打开它,下面的表达式等于true:

Request.Cookies["MyKey"] != null

浏览器会话结束时,如何让Cookie过期?

注意:为了我的目的,使用静态数据而不是cookie似乎是理想的.但我的理解是,ASP.NET可以由于各种原因重新启动,如果我失去了这个设置,那么可以从当前用户下拉出地毯.

解决方法

看来,问题是Stober所描述的.您可以通过将HttpCookie.Expires属性设置为DateTime.MinDate来设置cookie在浏览器会话结束时到期,或者根本不设置属性.

但是,至少在Chrome的提取 – 您在左侧的设置中,浏览器会话似乎不一定会在浏览器关闭时结束.关闭然后重新打开时,Chrome浏览器会在停止的位置拾起,就像会话从未结束.这包括在会话结束时继续使用Cookie设置到期.

我在FireFox上尝试过相同的代码.关闭并重新打开浏览器会使cookie过期,正如预期的那样.

所以虽然有一些一般的规则,最终这个行为完全取决于浏览器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读