本章介绍了ASP.NET 2.0的各种状态管理机制。由于HTTP的无状态特性,所有状态管理对开发Web应用程序来说都非常重要。几乎每一个网站都会或多或少使用到状态管理,目的无非如下。
· 利用状态存储一些常用数据提升网站效率。
· 利用状态存储用户信息使得网站能记住用户。
· 利用状态存储在网站的各个页面中传递数据。
ASP.NET提供了各种状态管理机制,各有各的特点。只有在充分理解了各种状态管理机制的特性以后,我们才能根据自己的需要选择合适的机制来使用。作为总结,我们列出一个总表对各种重要的状态管理进行比较。
| 存储位置 | 类型 限制 | 大小 限制 | 适用 对象 | 使用 范围 | 过期 策略 | 安全性 | |
| Cookie | 客户端Cookie文件夹 | 字符串 | 每个4K | 单个用户 | 当前请求 上下文 | 绝对时 间过期 | 低 |
| Session-InProc | 客户端Cookie和Web服务器内存 | 任何 类型 | 受内存 限制 | 单个用户 | 当前请求 上下文 | 平滑时 间过期 | 比较高 |
| Session-StateServer | 客户端Cookie和 Windows服务所在服务器内存 | 可序列 化类型 | 受内存 限制 | 单个用户 | 当前请求 上下文 | 平滑时 间过期 | 比较高 |
| Session-SqlServer | 客户端Cookie和SQL Server服务器硬盘 | 可序列 化类型 | 受数据 库限制 | 单个用户 | 当前请求 上下文 | 平滑时 间过期 | 比较高 |
| n Application | Web服务器内存 | 任何 类型 | 受内存 限制 | 所有用户 | 当前请求 上下文 | 应用程 序结束 则无效 | 高 |
| Cache | Web服务器内存 | 任何 类型 | 受内存 限制 | 所有用户 | 当前请求 上下文 | 平滑时间 过期、绝 对时间过 期、依赖 过期 | 高 |
| ViewState | 页面隐藏域 | 可序列 化类型 | 受表单 提交大 小限制 | 单个用户 | 当前页面 | 页面关 闭则无 效 | 比较低 |
| Profile | 客户端Cookie和数据库 | 可序列 化类型 | 受数据 库限制 | 单个用户 | 当前请求 上下文 | Cookie 过期时 间或者长 期存在 | 比较高 |
| n Querystring | 页面URL | 字符串 | 不超过 2K | 单个用户 | 当前页面 | 页面关闭 则无效 | 低 |
本文介绍ASP.NET2.0中的状态管理机制,包括Cookie、Session、Application等,对比它们的存储位置、适用对象及安全性,帮助开发者选择合适的状态管理方式。

被折叠的 条评论
为什么被折叠?



