ASP.NET可以成为一个庞大的软件体系,与它提供了大量的对象类库有很大的关系。这些类库中包含许多封装好的内置对象,开发人员能够直接使用这些对象的方法和属性,所以用较少的代码量就能轻松完成不少对象。
这篇博客就将总结一下ASP.NET中的几个基本对象。这些对象主要分为两大功能:
一是用来链接服务器和客户端浏览器之间的联席,包括:Page类,Request对象,Response对象和Server对象; 二是用于网站状态管理,包括:Cookie对象,Session对象和Application对象。
(一)Page类
对于一个页面而言,它是有本身的生命周期的,主要是如下5个阶段。
页面初始化:页面及其控件被初始化,页面肯定这是一个新的请求仍是一个回传请求。
载入:若是当前页面是回传请求,则该页面将从视图状态和控件状态中加载控件的属性,引起load事件。
回送事件处理:若是请求是回传请求,任何控件的回发事件处理过程将被调用。
呈现:结果经过HTTP响应发送回客户机。
卸载:对页面使用过的资源进行清除,调用Unload方法。
在本身敲过的一些实例来看,最经常使用的还有一个IsPostBack属性。这个属性是用来识别Page对象是否处于一个回送的状态下,也就是弄清楚请求页面是第一个实例,仍是请求回送的原来的页面。
(二)Request对象
当用户在客户端使用Web浏览器向Web应用程序发出请求时,就会将客户端的信息发送到Web服务器,客户端的请求信息就被封装为Request对象。
Request对象的经常使用属性:
Request.UserAgent:用来获取客户端浏览器版本。
Request.UserHostAddress:获取客户端ip地址。
Request.ApplicaionPath:获取当前网站的相对路径。
Request.PhysicalApplicationPath:获取当前网站的绝对路径。
(三)Response对象
Response对象是封装了Web服务器对客户端请求的响应,它用来操做与HTTP协议相关的信息,并将结果返回给请求者。
两个经常使用方法:
Write():输出信息到浏览器
Redirect():地址转向,将浏览器引导到新的WEB页或网站。
(四)Server对象
它包含一些与服务器相关的信息。使用它能够得到有关最新的错误信息、对HTML文本进行编码和解码、访问和读写服务器端的文件等功能。
经常使用方法和属性:
Server.MachineName:获取服务器名称
Server.HtmlEncode():将字符串进行html编码。
Server.Transfer();终止当前页执行,开始执行新页。与Response.Redirect()类似。
Server.MapPath();返回物理路径。
(五)Cookie对象
这个对象在咱们平时上网,浏览器中也见到过。一般都有清理Cookie记录这一选项,可想而知,这个对象即是用来帮助咱们保存一些浏览记录的,并且这些信息都是保存在咱们的客户机上的。
使用Cookie有如下几个优势:
无配置到期规则。Cookie能够在浏览器会话结束时到期,或者能够在客户端计算机上无限期存在,取决于客户端的到期规则。
不须要任何服务器资源。Cookie存储在客户端并在发送后由服务器读取。
简单性。Cookie是一种基于文本的轻量结构。
数据持久性。Cookie一般是客户端上持续时间最长的数据保留形式。
(六)Session对象
它能够为每一个用户的会话存储信息。Session对象中的信息只能被用户本身使用,而不能被网站的其余用户访问。因此,利用Session对象能够在不一样的页面间共享数据,可是不能在不一样的用户间共享数据,它经常使用来对用户的登陆状况作判断或存储。
注意要点:
Session对象存储的值,时间到了就会消失。可用TimeOut属性设置它的生存时间。
网页中能够有无数多个Session对象,每一个Session都有本身独立的SessionId,所以相互间不影响
当用户登陆时,系统会自动为其分配一个SessionID,这个id随机分配,不会重复,用来区分不一样用户。
可在网站的配置文件web.config里设置过时时间。<sessionState timeout="30"/>
Session.Abandon();退出登陆或注销就须要用到此方法。
(七)Application对象
Application对象也是用来存储信息的,与Session对象不一样的是,它存储的信息能够在各个用户间共享,Application存储的值,一直不会消失,直到网站关闭。它主要用来统计在线人数,聊天室发言,网站访问量等。主要有Lock()和UnLock()方法。
具备的特色:
对象中的数据能够在程序内部被全部用户所共享。
拥有本身的事件,能够在须要的时候被触发以执行相应的程序代码。
一个应用程序中能够存在多个Application对象,互不影响。
在服务器运行期间可以持久地保存数据。
使用Lock和UnLock方法,能够保证多个用户没法同时改变它的属性。
ASP.NET的七个基本对象看了不少遍其它书上的资料,但每次看完后,都没有及时作总结,因此也就感受很混乱,在编写程序的时候常常见但又不知道是什么,经过这一次的总结,把这七个基本对象完整地梳理了一遍,也总算是清楚了不少。在之后须要用到的时候,至少想的起来什么地方该用何种对象,用此对象的意义何在。
.Net源码:http://www.eyesourcecode.com/f/DotNet/1html