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