状态类型 | 客户端或服务器资源 | 有效时间 |
ViewState | 客户端 | 只在一个页面中 |
Cookie | 客户端 | 关闭浏览器时会删除临时cookie(此时的cookie没有设置有效时间,存储在浏览器内存中,关闭浏览器cookie自动删除),永久存储在用户系统磁盘上。 |
Session | 服务器 | 回话状态与浏览器回话相关。回话在超时后无效(默认为20分钟) |
Application | 服务器 | 应用程序状态在所有的客户端上共享,这个状态在服务器重启之前都是有效的 |
Cache | 服务器 | 类似于应用程序状态,高速缓存是共享的。但是,使高速缓存无效有更好的控制方式 |
1.ViewState 一种视图状态,可以保存同一个页面的数据
ViewState的缺点是。数据总是要从服务器传送给客户端,再从客户端传送给服务器,增加了网络流量
2.Session: 会话状态与浏览器会话相关。客户在服务器上第一次打开Asp.Net页面时,会话就开始了
要把客户端与其会话变量关联起来,ASP.NET默认使用一个临时cookie和一个会话标识符(SessionId)
缺点:因为存储在服务器端的一个辅助进程里,不稳定,数据多了容易丢失。),Session会有超时销毁的机制。
3.Appliction:应用程序状态,如果数据应在多个客户端共享,就可以使用应程序状态来保存
缺点:在应用程序状态中存储太多的数据,因为应用程序状态需要服务器资源,直到服务器停止或重启之后,才会释放这些资源.
4.Cache:高速缓存是服务端状态,它类似于应用程序状态