栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > asp

asp.net COOKIES需要注意的一点

asp 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

asp.net COOKIES需要注意的一点

由于cookieS的设置简单,使用起来也很方便,因此,平时直接读写cookie的过程中并没有发现cookie的Expires问题。
当从 REQUEST获取一个cookieS实例后,如果不重新设置Expires的情况下再次将cookieS发送到客户端,Expires会变成关闭页面过期。
举个例:
先在一个页面里发送cookieS
Httpcookie _currentcookie;
_currentcookie = new Httpcookie("test");
_currentcookie.Expires = DateTime.Now.AddYears(1);
Response.Appendcookie(_currentcookie);
然后再另一个页面将它接收
Httpcookie _currentcookie;
_currentcookie = Request.cookies["test"];
此时,我们可以通过获取并显示出Expires过期时间。
Response.Write(_currentcookie.Expires.ToString());
照常理,我们没有改动这个cookieS,获取后原封不动的有发送到了浏览器,应该不会有什么变化。
但是实际上会发现一个问题
_currentcookie["test"].Expires 变成了 0001-1-1 关闭页面后即过期。
通过以上实验,发现,实际上我们无法获取cookieS的Expires属性,所以,在使用Response.Appendcookies的时候,如果该实例没有重新设置Expires,则Expires会以默认设置(页面关闭过期)被发送,因此每次发送cookie如果你希望有过期时间都必须重新设置。
这个问题是我在封装cookie时遇到的,虽然以前也非常经常的用到cookieS,但是这次因为想封装成一个独立的类,所以在精简代码的过程中遇到这样的问题!
看来,不管多熟悉的东西,它总会有让人陌生的一面,需多多学习!
当然,这是在.NET2.0 C#中,似乎1.1中是可以获取REQUEST过来的cookie的Expires属性的。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/59529.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号