asp.net COOKIES需要注意的一点
更新时间:2008年11月05日 23:00:32 作者:
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属性的。
当从 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属性的。
您可能感兴趣的文章:
- asp.net下cookies的丢失和中文乱码
- asp.net清空Cookie的两种方法
- asp.net cookie的操作,写入、读取与操作
- asp.net Cookie跨域、虚拟目录等设置方法
- ASP.NET Cookie 操作实现
- asp.net Cookie操作类
- asp.net下cookies操作完美代码
- asp.net通过js实现Cookie创建以及清除Cookie数组的代码
- asp.net(C#)跨域及跨域写Cookie问题
- asp.net中的cookie使用介绍
- asp.net关于Cookie跨域(域名)的问题
- Asp.net内置对象之Cookies(简介/属性方法/基本操作及实例)
- asp.net Cookie值中文乱码问题解决方法
- asp.net中使用cookie与md5加密实现记住密码功能的实现代码
- ASP.NET之Response.Cookies.Remove 无法删除COOKIE的原因
- asp.net利用cookie保存用户密码实现自动登录的方法
- ASP.NET中Cookie的使用方法
相关文章
gridview+objectdatasource+aspnetpager整合实例
gridview+objectdatasource+aspnetpager整合实例,需要的朋友可以参考一下2013-04-04ASP.NET插件uploadify批量上传文件完整使用教程
这篇文章主要为大家详细介绍了ASP.NET插件uploadify批量上传文件完整使用教程,感兴趣的小伙伴们可以参考一下2016-07-07Windows Server 2012 R2 Standard搭建ASP.NET Core环境图文教程
这篇文章主要介绍了Windows Server 2012 R2 Standard搭建ASP.NET Core环境图文教程,需要的朋友可以参考下2016-07-07asp.net下创建、查询、修改带名称空间的 XML 文件的例子
asp.net下创建、查询、修改带名称空间的 XML 文件的例子...2007-04-04
最新评论