在web开发中,数据库都是通过HTTP协议来传输的。但HTTP是一个无状态协议,不会保留数据的状态和信息。
为了解决问题。各种开发语言都提供了状态管理功能。
状态管理是在同一页或不同页的多个请求发生时,维护状态和页面信息的过程。
由于web应用程序的通信协议使用了无状态的HTTP协议,所以当client每次请求页面时。ASP.NETserver端都会又一次生成一个网页的新实例,此时旧网页的任务已经完毕了,旧网页实例也随之消失。
这样的无状态。好比我们在淘宝上将非常多东西增加了购物车,可是自己却在自己的购物车中看不到。仅仅能进行另外的查询方能够看到。还能够说成。我们在非常多文本框中输入了内容,单击“提交”button,将请求发送到server后。从server返回的是一个全新的网页。用户的内容所有丢失,我们或许感觉不到,由于我们看到的网页进行了状态管理。
为了弥补这样的基于web应用程序的固有限制。ASP.NET提供了内置对象有Page、Request、Response、Application、Session、Server、Mail和Cookies。这些对象使用户更easy收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息。以实现其它特定的状态管理和页面信息的传递。
当然这经常使用的七大内置对象,依据不同的用户请求情况。须要使用不同的状态管理。
1.Response:server端将数据作为请求的结果发送到浏览器端(输出)
2.Request:浏览器端对当前页请求的訪问发送到server端(输入)
3.Application:存储跨网页程序的变量或对象,中止于停止IIS服务(公用变量和对象)
4.Session:存储跨网页程序的变量或对象,中止于联机离线或有效时间(单一用户对象)
5.Server:定义一个与Webserver相关的类提供对server上方法和属性的訪问
6.Cookie:保存client浏览器请求的server页面,存放保留非敏感用户信息
7.Cache:Web应用程序的缓存
正是由于他们作用的不同,所以在不同的时候。我们用不同的对象,比如:
1.Application是应用程序级别的状态存储,Session是会话级别的状态存储。
2.Cookie跟Session、Application类似。也是用来保存相关信息,但Cookie和其它对象的最大不同是。Cookie将信息保存在client,而Session和Application是保存在server端。也就是说,不管何时用户连接到server,Web 站点都能够訪问cookie信息。
这样。既方便用户的使用,也方便了站点对用户的管理。
后面我们再讲这七大对象的具体使用方法。