ASP.NET保持用户状态的九种选择
时间:2006/5/21 16:17:02
阅读:2775
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结构 |
看了上表,相信您能选择最佳的数据存储方案了!