ASP.NET状态保持cookie与session

                                              ASP.Net状态保持

一、ASP.Net中的状态保持如下图:

 
二、客户端的状态保持方案
    ViewState、隐藏域、Cookies、控件状态、URL查询参数
     ->ViewState(页面级)
      有两种使用方式:
      1、用户数据保存方式
          ViewState["Key"]=Value;
          ViewState不能存储所有的数据类型,仅支持可序列化对象
      2、服务器端控件的值自动保存在ViewState中
      3、ViewState适用于同一个页面在不关闭的情况下多次与服务器交互
      ->隐藏域       
       隐藏域在页面中对于用户是不可见的,隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。
      ->Cookies
服务器把少量数据(4kb左右)储存到客户端的硬盘或内存
      大多数浏览器支持最多可达4096字节的Cookie
      浏览器限制了站点可以在用户计算机上保存Cookie的数量,
     大多数浏览器只允许每个站点保存20个Cookie
三、服务端的状态保持方案 
    Session(会话)、Application、Caching(缓存)、DataBase(数据库)
       ->Session
       1、Session(进程内 InProc)
       2、StateServer(状态服务器)
       3、数据库(可以把存储到数据库中)
      ->由System.Web.SessionState.HttpSessionState类实现的,用来记载一次会话中的客户的信息

在服务器端保存客户端单独使用的数据的一种方式

      ->会话:客户对某一网站的一次访问称为一个会话在对这个网站的此次访问中,从一页面转移到另一个页面时存储在Session中的信息都将被保存
      ->成员:SessionID:用于标识会话的唯一ID

          Timeout:会话状态提供程序终止会话之前各请求之间所允许

          超时期限,默认值为20分钟    

Abandon()清除Session对象

 

       ->语法:Session["Session名称"]=变量|常量|字符串|表达式

         
            如果读取一个不存在的Session,将返回空 .

 
posted @ 2014-01-02 16:47  小码编匠  阅读(359)  评论(0编辑  收藏  举报