我们支持丢弃cookie并将过期时间设置为DateTime.MaxValue的遗留代码:
HttpCookie cookie = new HttpCookie(cookieName, value);
cookie.Expires = DateTime.MaxValue;
Run Code Online (Sandbox Code Playgroud)
似乎在某些浏览器上(我们没有记录),这个cookie会立即过期 - 甚至可能不会被删除.根据MSDN,DateTime.MaxValue是9999年12月31日.在此日期设置cookie过期是否存在与浏览器相关的问题?
正确的答案是更改到期日期,但此时,我们无法更改生产代码.
如果我不得不随机猜测它为什么不起作用,我会说它与Unix纪元时间有关.在2038年1月19日格林尼治标准时间凌晨3:14:07之后,这个值在技术上会溢出(在32位机器上) - 所以在此之后的下一秒将被解释为格林威治标准时间1970年1月1日0:00:01.
您提供的未来时间实际上可能会转换为过去的时间.
再次,这是一个完整的猜测,希望我可以在我的家用机器上下载VWD Express 2008后立即测试它.
搜索此问题,我发现了类似的错误:
http://framework.zend.com/issues/browse/ZF-5690
| 归档时间: |
|
| 查看次数: |
7803 次 |
| 最近记录: |