ASP.NET状态管理之四(暂存状态HttpContext.Items)

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

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

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

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

//例如:
//我们有一页面A.ASPX,有一按钮ID:Submit,点按钮把页面转向b.aspx页面

public void Submit_Click(Object sender, EventArgs E)
{
    SqlConnection myConnection = new SqlConnection("server=(local)NetSDK;database=pubs;Trusted_Connection=yes");
    SqlDataAdapter myCommand = new SqlDataAdapter("select * from Authors", myConnection);
    DataSet ds = new DataSet();
    myCommand.Fill(ds, "Authors");
    //把数据放入暂存中
    Context.Items["MyData"] =ds;
    Server.Transfer(b.aspx);
}

//b.aspx页面中

public void Page_Load(Object sender, EventArgs E)
  {
    if (!IsPostBack)
    {
    //取得暂存数据
    DataSet ds=(DataSet)Context.Items["MyData"];
    //其它数据过程
    }
  }
时间: 2024-10-10 17:25:04

ASP.NET状态管理之四(暂存状态HttpContext.Items)的相关文章

SERVLETJSP学习(六)—— 状态管理-cookie

1. 状态管理-Cookie 1.1. 状态管理 1.1.1. 为什么需要状态管理 Web应用程序使用HTTP协议作为传输数据的标准协议,而HTTP协议是无状态协议,即一次请求对应一次响应,响应结束后连接即断开,同一个用户的不同请求对于服务器端来讲并不会认为这两个请求有什么关联性,并不会以此区分不同的客户端.但实际情况中还是需要服务器端能够区分不同的客户端以及记录与客户端相关的一些数据,所以状态管理能够做到不同客户端的身份识别. 1.1.2. 什么是状态管理 将客户端与服务器之间多次交互当做一个

状态管理-Cookie

1.为什么需要状态管理 Web应用程序使用HTTP协议通信,而HTTP协议是“无状态”协议,即服务器一旦响应完客户的请求之后,就断开连接,而同一个客户的下一次请求将重新建立网络连接 服务器应用程序有时是需要判断是否为同一客户发出的请求,比如客户的多次选购商品.因此,有必要跟踪同一客户发出的一系列请求. 2.什么是状态管理 将客户端(浏览器)与服务器之间多次交互(一次请求,一次响应)当做一个整体来看待,并且将多次交互所涉及的数据即状态保存下来 状态指的是数据 管理指的是多次交互时对数据的修改 3.

状态管理

为什么需要状态管理 WEB 应用程序使用HTTP协议通信,而HTTP协议是"无状态" 协议,即服务器一旦响应完客户端的请求后,就断开连接,而同一个客户的下一次请求将重新建立网络连接. 什么是状态管理 将客户端(浏览器)与服务器之间多次交互(一次请求,一次响应)当作一个整体来看待,并且将多次交互所涉及的数据即状态保存下来 状态指的是数据 管理指的是多次交互时对数据的修改 状态管理的两种常见模式 客户端状态管理技术:将状态保存在客户端.代表性的是Cookie技术 服务器状态管理技术:将状态

LNMP状态管理命令

LNMP状态管理命令: LNMP状态管理: /root/lnmp {start|stop|reload|restart|kill|status} Nginx状态管理:/etc/init.d/nginx {start|stop|reload|restart} MySQL状态管理:/etc/init.d/mysql {start|stop|restart|reload|force-reload|status} Memcached状态管理:/etc/init.d/memcached {start|st

状态管理之cookie使用及其限制、session会话

# 1.什么是状态管理? 将浏览器与web服务器之间多次交互当作一个整体来处理,并且将多次交互所涉及的数据(即状态)保存下来.(cookie浏览器所涉及到的访问数据保存下来)# 2.如何进行状态管理? 方式一 将状态保存在浏览器端(Cookie). 方式二 将状态保存在服务器端(Session). # 3.Cookie## (1)什么是Cookie? 服务器临时存放在浏览器端的少量数据. ## (2)工作原理 当浏览器访问服务器时,服务器将少量数据以set-cookie消息头的形式发送给浏览器,

vue状态管理(vuex)

vuex,官方定义为状态管理,其实这个状态管理,和H5本地缓存的作用很相似,通俗的讲,就是存储一些公用的东西,提供给各个组件使用,和服务器端的session功能也很类似. 不同的是,vuex在刷新页面的时候,会自动还原到初始的状态,话不多说,我们直接上干货: 1.安装vuex:npm install vuex --save 2.需要在man.js中引用如下代码 import Vue from 'vue' import App from './App' import router from './

大数据计算引擎之Flink Flink状态管理和容错

原文地址:大数据计算引擎之Flink Flink状态管理和容错 有状态计算 在Flink架构体系中,有状态计算可以说是Flink非常重要的特征之一.有状态计算是指在程序计算过程中,在Flink程序内部,存储计算产生的中间结果,并提供给Functions 或 孙子计算结果使用.如图所示: 状态数据可以维系在本地存储中,这里的存储可以是 Flink 的堆内存或者堆外内存,也可以借助第三方的存储介质,例如:Flink中已经实现的RocksDB,当然用户也可以自己实现相应的缓存系统去存储状态信息,以完成

《Git小书》笔记:4 暂存区

这节讲了暂存区,我觉得讲的很好啊, 之前一起奇怪暂存区怎么用来的. 还用之前的比喻吧. 暂存区就好比侦探的那个相机嘛,暂存区的本质其实不是用来暂存的,如果说用来暂存的,至少会引起误解,因为我们会说为什么要暂存呢?直接存不就好了,为啥多此一举.的确,如果某种情况你要直接存当然不需要暂存区了. 但是暂存的是什么?暂存的是文件吗?正如那个侦探拍摄到的嫌疑人,他拍摄的是整个人吗?不是,他拍摄的一个行为.同理,暂存区暂存的是什么?暂存的是修改而非文件,我们要用改动的眼光看待文件,一个文件从诞生伊始,空无一

【Git】(1)---工作区、暂存区、版本库、远程仓库

工作区.暂存区.版本库.远程仓库 一.概念 1.四个工作区域 Git本地有四个工作区域:工作目录(Working Directory).暂存区(Stage/Index).资源库(Repository或Git Directory).git仓库(Remote Directory).文件在这四个区域之间的转换关系如下: Workspace: 工作区,就是你平时存放项目代码的地方 Index / Stage: 暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息 Reposit