Asp.Net的状态管理

简介

HTTP协议是无状态的。从客户端到服务器的连接可以在每个请求之后关闭。但是一般需要把一些客户端信息从一个页面传送给另一个页面。

无状态的根本原因是:浏览器和服务器使用Socket通信,服务器将请求结果返回给浏览器后,会关闭当前Socket连接。而且服务器会在处理页面完毕后销毁页面对象。

应用层面的原因是:浏览器和服务器之间通信都遵守HTTP协议。

Http协议是无状态的,不会记得上次和网页“发生了什么。服务器不记得上次给了浏览器什么。

对网站造成的影响:如果用户录入了一些信息,当跳转到下一个页面时,数据丢失,再也不能获得那些数据。

如果要知道上一次的状态信息,我们就得把这个状态信息记录在某个地方:

a.服务器端

b.浏览器端(客户端)

c. 表单元素中—如:隐藏域<input type=“hidden” />(Http报文)

在保存状态的各种方式中,主要区别是:状态是存储在客户端还是服务器上,下表列出了各种状态管理技术以及状态保持有效的时间。

先将状态管理的五种方式基本概念放在一起,方便比较记忆。

网络上有一种划分更细的方案,如下图所示:

客户端的状态保持方案:ViewState、隐藏域、Cookies、控件状态、URL查询参数

服务端的状态保持方案:Session(会话)、Application、Caching(缓存)、DataBase(数据库)




转载请注明:http://www.shhjfk.com/bcxx/bcxx/36.html

  • 上一篇文章:
  •   
  • 下一篇文章: