ASP.NET中九种保持用户状态
ASP.NET为保持用户请求之间的数据提供了多种不同的途径。你可以使用Application对象、Cookie、Hidden Fields、Sessions或Cache对象,以及它们的大量的方法。决定什么时候使用它们有时很困难。
为了确定使用哪种对象保存数据,我们首先回答这三个问题:a)谁需要数据?b)数据需要保持多长时间?c)数据集有多大?通过回答这些问题,你能决定哪个对象为保持ASP.NET应用程序请求间数据提供了最佳的解决方案。
下表提供了各对象的相关信息:
| 保持方法 | 谁需要数据 | 保持多长时间 | 数据量大小 |
| Application | 所有用户 | 整个应用程序生命期 | 任意大小 |
| Cookie | 一个用户 | 可以很短,如果用户不删除也可以很长 | 小的、简单数据 |
| Form Post | 一个用户 | 到下一次请求(可以跨越多个请求重复使用) | 任意大小 |
| QueryString | 一个或一组用户 | 到下一次请求(可以跨越多个请求重复使用) | 小的、简单数据 |
| Sessions | 一个用户 | 用户活动时一直保持+一段时间(一般20分钟) | 可以是任何大小,但是因为用户有单独的Sessions 存储,所有它应该最小。 |
| Cache | 所有用户或某些用户 | 根据需要 | 可大可小、可简单可复杂 |
| Context | 一个用户 | 一个请求 | 可以保持大对象,但是一般不这样使用 |
| ViewState | 一个用户 | 一个Web窗体 | 最小 |
| Config file | 所有用户 | 知道配置文件被更新 | 可以保持大量数据,通常组织小的字符串和XML结构 |
看了上表,相信您能选择最佳的数据存储方案了!
浙公网安备 33010602011771号