asp.net页面状态管理cookie和服务器状态管理Session
Cookie:是存储在客户端文件系统的文本文件中或客户端浏览器对话的客户端浏览器对话的内存中的少量的数据。当我们在访问一个网站网页,当用户请求该网页时,应用程序会首先检查用户在此前是否已经登录过,我们可以通过读取Cookie获取用户信息来判断是否让它继续访问
记录Cookie信息
创建一个名称是user的Cookie对象:HttpCookie cookie=new HttpCookie("user");
给Cookie赋值,只能使用字符串赋值:cookie.Value="chenxiaomei";
如果有多个字符串需要保存,可以通过如下方式完成:
cookie["sex"]="女";
cookie.Values.Add("age","18");
HttpCookie cookie = Request.Cookies["user"];
if (null==cookie)
{
Response.Write("没有发现制定的cookie");
}
else
{
Response.Write("cookie的全部值:" + cookie.Value + "<br/>");
Response.Write("sex值为:" + cookie["sex"] + "<br/>");
Response.Write("age值为:" + cookie["age"] + "<br/>");
}
删除Cookie
由于Cookie保存在客户端,但是可以让浏览器为你删除Cookie。将Cookie的值设为过去的
某个日期。
cookie.Expires = DateTime.Now.AddHours(-1);
Session对象
当用户首次与服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会
自动为其分配一个SessionID,用以标识这个用户的唯一身份。
Session的具体操作:
代码如下:
//存储信息
Session["myname"] = "chenxiaomei";
//获取信息
string myname = Session["myname"];
//清除session
Session.Clear();//从Session状态集合中移除所有的键和值
Session.Abandon();//取消当前Session会话
Session和Cookie的区别:
信息的存储位置不同,保存的时间也不同
Cookie是网页服务器存储在网页客户端硬盘上的文本文件。网页服务器向网页客户端请求存储一段信息,信息可以保存在Cookie中。之后每当客户端向服务器申请一个页面时,就会将该信息发回到服务器。
Session变量将在服务器为每个连接建立一个字典对象,使用的是服务端保存。Cookie可能会有一个按照年月日来判断的作废日期,而Session级别的变量在连接超时后就作废