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

asp.net – 问题设置cookie到期DateTime.Max(9999年12月31日)?

发布时间:2020-12-16 06:51:38 所属栏目:asp.Net 来源:网络整理
导读:我们支持丢弃cookie并将过期时间设置为DateTime.MaxValue的遗留代码: HttpCookie cookie = new HttpCookie(cookieName,value);cookie.Expires = DateTime.MaxValue; 似乎在某些浏览器上(我们没有记录),这个cookie会立即过期 – 甚至可能不会被删除.根据MSDN
我们支持丢弃cookie并将过期时间设置为DateTime.MaxValue的遗留代码:

HttpCookie cookie = new HttpCookie(cookieName,value);
cookie.Expires = DateTime.MaxValue;

似乎在某些浏览器上(我们没有记录),这个cookie会立即过期 – 甚至可能不会被删除.根据MSDN,DateTime.MaxValue是9999年12月31日.在此日期设置cookie过期是否存在与浏览器相关的问题?

正确的答案是更改到期日期,但此时,我们无法更改生产代码.

解决方法

如果我不得不随机猜测它为什么不起作用,我会说它与 Unix epoch time有关.这个值在技术上会在2038年1月19日格林尼治标准时间凌晨3:14:07之后溢出(在32位机器上) – 所以在此之后的下一秒将被解释为格林尼治标准时间1970年1月1日0:00:01.

您提供的未来时间实际上可能会转换为过去的时间.

再次,这是一个完整的猜测,希望我可以在我的家用机器上下载VWD Express 2008后立即测试它.

编辑:

搜索此问题,我发现了类似的错误:

http://framework.zend.com/issues/browse/ZF-5690

(编辑:李大同)

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

    推荐文章
      热点阅读