黑马程序员-asp.net中保存状态方法对比小结

------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
    由于asp.net客户端是无状态的,当用户重发请求,页面就会重刷新。【补充:Web开发不像软件开发,Web应用实际上是没有状态的,这就说明Web应用程序不自动指示序列中的请求是否来自相同的浏览器或客户端,也无法判断浏览器是否一直在浏览一个页面或者一个站点,也无法判断用户执行了哪个操作并统计用户的喜好。】
于是,就诞生:

viewstate\hidden\cookie\?key1=value1&key2=value2\session\application\cache

 
方法

信息量大小

作用域和保存时间

应用范围

保存位置

Application

任意大小

整个应用程序的生命期

整个应用程序/所有用户

Session

小量,简单的数据

用户活动时间+一段延迟时间(一般为20分钟)

单个用户

服务器端

Cookie

小量,简单的数据

可以根据需要设定

单个用户

客户端

Viewstate

小量,简单的数据

一个Web页面的生命期

单个用户

客户端

Cache

任意大小

可以根据需要设定

整个应用程序/所有用户

服务器端

隐藏域

小量,简单的数据

一个Web页面的生命期

单个用户

客户端

查询字符串

小量,简单的数据

直到下次页面跳转请求

单个用户

客户端

 
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------