session是针对某一访问者,可以在多个页面里使用的   
    
cache则是每个应用程序域都会创建一个实例的,并且只要对应的应用程序域保持活动,该实例便保持有效,所以它是该应用程序的所有访问者公用的   
    
Context.Items是用于在   HTTP   请求过程中在   IHttpModule   和   IHttpHandler   之间组织和共享数据的集合,因此只能在某一页面里使用且只针对某一访问者(每个访问者都有自己的数据)

 

ASP.NET提供一个类System.Web.HttpContext ,用来表示上下文,此对象有一个属性Items

暂存状态就是利用HttpContext.Items属性来存放数据

MSDN中HttpContext.Items属性的解释是这样的:获取可用于在 HTTP 请求过程中在 IHttpModule 和 IHttpHandler 之间组织和共享数据的键值

HttpContext.Items属性中可以存放任何类型数据,无论这个属性中存放什么数据,都会在请求处理结束后自动清除,这就是暂存状态,数据的存放时间非常短.

Context使用例子:

页面1

Context.Items["txtSurName"] = txtSurName.Text;
Context.Items["txtName"] = txtName.Text;
Context.Items["txtDesignation"] = txtDesignation.Text;
Context.Items["txtOrganization"] = txtOrganization.Text;
Context.Items["txtNric"] = txtNric.Text;
... ...

页面2
   string strClientSurName = Convert.ToString(Context.Items["txtSurName"]);
   string strClientGivenName = Convert.ToString(Context.Items["txtName"]);
   string strClientDesignation = Convert.ToString(Context.Items["txtDesignation"]);
   string strClientOrganization = Convert.ToString(Context.Items["txtOrganization"]);
   string strClientNRIC = Convert.ToString(Context.Items["txtNric"]);

... ...

posted on 2008-12-03 11:13  Cien  阅读(688)  评论(0编辑  收藏  举报