最近做了一个BTOC项目,遇到了一些网页状态存储管理的问题,现总结一下我的解决方案:
首先,我们说说状态:
状态是任何类型数据能够在一定时期内保持活跃的信息。
我们这里说的一定时期可以是整个应用程序的生命周期,也可以是用户操作程序的时间,也可以是单个页面的生命周期等等。时间是有长有短的。
由于WEB程序的HTTP协议是无状态的,所以存储状态信息就成了一个要解决的问题,既然要存储数据,那么存储的数据就需要有个存放位置,我认为只有2个地方:
·客户机
·服务器
按照存放位置进行分类,ASP。NET中状态存放方式如下:
·客户机
©查询字苻串---利用URL在客户机和服务器间进行数据交换
详细说明(请点击)
©隐藏的窗体字段---在窗体字段中设置和读取数据
详细说明(请点击)
©COOKIE---保存在客户浏览器上的数据
详细说明(请点击)
©视图状态---保存页面相关数据
详细说明
·服务器
©应用程序---这种数据在应用程序整个生命周期内可以被所有用户利用
详细说明
©会话---这种数据和每个用户联系
详细说明
©暂存状态---这种数据在单个请求过程中存在
详细说明(请点击)
©缓存---这种数据与应用程序相类似
详细说明
©其他物理数据存放媒体---例如数据库,TXT文本,XML文件等等
详细说明
我总结了以上九种方式,存储数据,不知是否有遗漏,大家可以补充