代码驿站移动版
频道导航
HTML/Xhtml
CSS
JavaScript
HTML5
PHP教程
ASP.NET
正则表达式
AJAX
ThinkPHP
Yii
MySQL
MariaDB
Oracle
MongoDB
Redis
DedeCMS
PHPCMS
帝国CMS
WordPress
Discuz
其它CMS
Zend Studio
Sublime
Notepad
Dreamweaver
Windows
Linux
Nginx
Apache
IIS
CentOS
Ubuntu
Debian
网站优化
工具资源
PHP源码
ASP.NET源码
其它源码
图标素材
按钮素材
字体素材
DedeCMS模板
帝国CMS模板
PHPCMS模板
WordPress模板
Discuz!模板
单页模板
开发软件下载
服务器软件下载
广告投放
联系我们
版权申明
软件编程
网页前端
移动开发
数据库
服务器
脚本语言
PHP代码
JAVA代码
Python代码
Android代码
当前位置:
主页
>
软件编程
>
.NET代码
>
asp.net COOKIES需要注意的一点
时间:2023-01-25 10:06:56 | 栏目:
.NET代码
| 点击:次
由于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属性的。
您可能感兴趣的文章:
C#中观察者模式的3种实现方式
ASP.NET获取MS SQL Server安装实例实现思路及代码
unity实现玻璃效果
使用C#获取远程图片 Form用户名与密码Authorization认证的实现
Repeater里switch的使用方法
相关文章
01-10
C# winform编程中响应回车键的实现代码
12-14
浅谈C#多线程简单例子讲解
12-15
Unity使用LineRender实现绘画功能
11-30
在ASP.NET 2.0中操作数据之六:编程设置ObjectDataSource的参数值
10-17
C#使用checkedListBox1控件链接数据库的方法示例
JQuery
VUE
AngularJS
MSSql
MySQL
MongoDB
Redis
Linux
Tomcat
Nginx
网站首页
广告投放
联系我们
版权申明
联系站长