Asp.Net学习之Cookies状态管理(四)

  在web应用程序中为什么要使用状体管理呢?因为Web应用程序的通信协议使用了无状态的HTTP协议,无状态也就意味着客户端在向服务器发送请求时页面时,就会重新生成一个新的网页实例,而产生新的实例同时,客户端用户在浏览器中浏览的一些状体就会丢失,为了让用户感觉不到数据的丢失,所以对网页进行状态管理。

       状态管理是在同一页或不同页的多个请求发生时,维护状态和页信息的过程。

在Asp.Net中提供了4中状态管理,他们分别是Cookies(临时信息)、Session(会话)、Application、viewState(视图状态)。

  Cookies用来存储少量数据,这些数据存储在客户端文件系统的文本文件中或者存储在客户端浏览器会话的内存中,它的安全性不是很高。

既然它的安全性不是很高?为什么还有在网站中使用Cookies状态管理呢?

因为Cookies的保存的少量的数据,可以使用户减少反复操作。例如在用户登录网站时,要输入用户名与密码,Cookies就可以保存输入的用户名与密码的信息,当用户再次登录时,密码和账号就会自动出现。就不需要在重新输入了,方便用户的使用。

在Asp.net中管理Cookies的类是HttpCookies。其中包含了设置、修改于创建Cookie的一系列方法和属性。如下表:  

属性名称说明
Comment获取或设置服务器可添加到Cookie中的注释
CommentUrl获取或设置f服务器可通过Cookie来提供的URL注释
Discard 获取或设置由服务器设置的丢弃标志
Domain获取或设置Cookie对其有效的URL
Expired获取或设置Cookie的当前状态
Expires获取或设置作为DateTime的Cookie过期日期和时间
HttpOnly确定也脚本或其他活动内容是否可访问此Cookie
Name获取或设置此Cookie的名称
Path获取或设置Cookie适用于的URL
port获取或设置Cookie适用于的TCP端口列表
Secure获取或设置Cookie的安全级别
TimeStamp获取或设置Cookie作为DateTime发出的时间
Value获取或设置Cookie的Value
Version获取或设置此Cookie符合的HTTP状态维护版本

  下面通过简单的例子实现Cookie的数据存


代码如下:

protected void Button1_Click(object sender, EventArgs e)  
   {  
       //使用集合方式保存用户名  
       Response.Cookies["UserName"].Value = TextBox1.Text;  
       //设置用户名保存的过期时间为距现在1小时  
       Response.Cookies["UserName"].Expires = DateTime.Now.AddHours(1);  
       //使用创建对象的保存用户密码  
       HttpCookie myCookie = new HttpCookie("UserPwd");//实例化Cookie对象  
       myCookie.Value = TextBox2.Text;//保存值  
       myCookie.Expires = DateTime.Now.AddHours(1);//设置过期时间  
       Response.Cookies.Add(myCookie);//添加到Cookie集中  
       Response.Write("保存成功");  
   }  
  
   protected void Button2_Click(object sender, EventArgs e)  
   {  
       //遍历浏览器中的所有Cookie  
       string tempValue = "";  
       string str;  
       ListItem item;  
       //遍历请求中的Cookie集合  
       foreach (string key  in  Request.Cookies.AllKeys )  
       {  
           if (key=="UserName")  
           {  
               TextBox1.Text = Request.Cookies[key].Value;  
           }  
           if (key=="UserPwd")  
           {  
               TextBox2.Text = Request.Cookies[key].Value;  
           }  
       }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值