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");

读取Cookie信息


代码如下:

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级别的变量在连接超时后就作废

(0)

相关推荐

  • 深入浅析TomCat Session管理分析

    前言 对于广大java开发者而已,对于J2EE规范中的Session应该并不陌生,我们可以使用Session管理用户的会话信息,最常见的就是拿Session用来存放用户登录.身份.权限及状态等信息.对于使用Tomcat作为Web容器的大部分开发人员而言,Tomcat是如何实现Session标记用户和管理Session信息的呢? 概要 SESSION Tomcat内部定义了Session和HttpSession这两个会话相关的接口,其类继承体系如图1所示. 图1 Session类继承体系 图1中额

  • JavaWeb Session 会话管理实例详解

    Session会话简介 会话是指在一段时间内,用户使用同一个浏览器进程与Web应用之间的交互过程. 会话(Session)通常用来跟踪用户的状态,缓存用户在此浏览器进程中的信息. 当用户关闭浏览器,上一个Session也就无法再次获得了(Cookie的maxAge为-1的情况).再次打开新的浏览器,将开始一个新的会话. 类javax.servlet.http.HttpSession.每一个HttpSession代表用户的一个会话. 每一个Session的过期时间默认为30分钟. 当浏览器第一次访

  • Tomcat中session的管理机制

    详细描述Tomcat中session的管理机制: 1. 请求过程中的session操作: 简述:在请求过程中首先要解析请求中的sessionId信息,然后将sessionId存储到request的参数列表中.然后再从 request获取session的时候,如果存在sessionId那么就根据Id从session池中获取session,如果sessionId不 存在或者session失效,那么则新建session并且将session信息放入session池,供下次使用. (1)SessionId

  • PHP服务端SESSION管理工具提供下载

    文章作者:Inking信息来源:邪恶八进制信息安全团队(www.eviloctal.com) 前两天我所在的楼层断了网,郁闷的我什么也干不了.之前刚好看到剑心的blog里有篇疯狗写的关于利用session渗透的文章,文章写得很简单,到最后" 小气"的疯狗也没有把利用程序发出来,所以我不管有没有用先把它写下来了.由于不能查资料,所以只好对这手册看,代码在很多方面可能还存在着缺陷.最烦人的还是正则和文件流操作的问题,循环来循环去的,把我的头都搞晕了,光是调试都花了整整一天的时间(写代码粗心

  • Tomcat集群和Session复制应用介绍

    一个配置文件: 复制代码 代码如下: <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6"> <Manager className="org.apache.catalina.ha.session.BackupManager" expireSessionsOnShutdown="false"

  • Hibernate管理Session和批量操作分析

    本文详细分析了Hibernate管理Session和批量操作的用法.分享给大家供大家参考.具体分析如下: Hibernate管理Session Hibernate自身提供了三种管理Session对象的方法 ① Session对象的生命周期与本地线程绑定 ② Session对象的生命周期与JTA事务绑定 ③ Hibernate委托程序管理Session对象的生命周期 在Hibernate的配置文件中,hibernate.current_session_context_class属性用于指定Sess

  • PHP 使用MySQL管理Session的回调函数详解

    复制代码 代码如下: <?php class MySession extends DBSQL { /**   * __construct()   */  public function __construct() {   parent::__construct (); } /**   * open()   *    * @param <String> $sSavePath   * @param <String>$sSessionNames   *    * @return &

  • Asp.Net中NHiernate的Session的管理

    NHibernate中的Session,在我的理解似乎就相当于数据库中连接.因为它也有Open/Close的方法,我没有研究NHibernate的源码,不知道这种理解是否有误?我在网上搜了很多的关于Session的管理,大多都是在我需要数据库操作的时候,就OpenSession(),操作完后就CloseSession().这有点拟似如我们刚开始学习ADO.NET的时候,要Connection对象Open(),数据处理完后就Close().但是这里就带来了一个弊端,因为Connection的频繁的

  • Java中tomcat memecached session 共享同步问题的解决办法

    事件缘由:一个主项目"图说美物",另外一个子功能是品牌商的入驻功能,是跟主项目分开的项目,为了共享登录的用户信息,而实现session共享,俩个tomcat,一个tomcat6,一个tomcat7 web项目windows系统下实现session的共享 第一个步: 在俩个tomcat的context.xml这个文件中配置如下代码: <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManage

  • ASP.NET网站管理系统退出 清除浏览器缓存,Session的代码

    1.在系统登陆成功时记录登陆的用户名.密码等信息(登陆功能的部分代码) 复制代码 代码如下: Session["id"] = user.id.ToString(); Session["name"] = user.name.ToString(); Session["pwd"] = user.password.ToString(); Session["time"] = user.LoginTime.ToString(); Sess

随机推荐