ASP.NET需要状态管理的根本原因和所有状态种类
无论是ASP.NET还是jsp,需要状态管理的根本原因是:HTTP协议是一种无状态的协议!!!
所以,ASP.NET的状态管理是用来弥补HTTP无状态的不足的。
ASP.NET所有状态一共有8种,分为两大类:服务器端状态和客户端状态。
服务器端状态(3种):
1. Application(应用程序状态)
全局存储机制,允许web应用程序中的所有页面访问。因此,可以存储往返于服务器之间及页面请求之间维护的信息。
2. Session(会话状态)
与Application非常相似,但是仅仅限于当前的浏览器会话。每个用户都将拥有一个不同的会话状态。即便是同一个用户,在退出后又返回到应用程序,此时的会话状态和退出之前的会话状态也是不同的。
3. 配置文件属性
与Session类似,不同的是,在会话状态结束时,配置文件数据不会丢失,而是以持久的格式存储,并与某个用户关联。配置文件使用了一个强类型API,你可以在应用程序的任何位置来访问此API。
客户端状态(5种):
1. ViewState(视图)
2.控件状态
3.隐藏域(HiddenFiled)
4.Cookie
Cookie与网站关联,而不是与特定的页面关联。
5.查询字符串
比如“http://ww.baidu.com/xxoo.aspx?id=100&opt=2”中的“?id=100&opt=2”就是查询字符串。长度有限制,比如
字符。