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/1

ASP.NET基本对象介绍的更多相关文章

  1. ASP.NET Web API 路由对象介绍

    ASP.NET Web API 路由对象介绍 前言 在ASP.NET.ASP.NET MVC和ASP.NET Web API这些框架中都会发现有路由的身影,它们的原理都差不多,只不过在不同的环境下作了 ...

  2. [译] ASP.NET 生命周期 – ASP.NET 上下文对象(五)

    ASP.NET 上下文对象 ASP.NET 提供了一系列对象用来给当前请求,将要返回到客户端的响应,以及 Web 应用本身提供上下文信息.间接的,这些上下文对象也可以用来回去核心 ASP.NET 框架 ...

  3. ASP.NET MVC 简单介绍①

    ASP.NET  MVC 简单介绍① 只做了重要描述,内容出自菜鸟教程网站内容. 目录 1布局 2HTML 帮助器 3.Razor 语法 4.添加样式 5.Layout 6. Controllers ...

  4. FastReport报表对象介绍一:“Text”对象

    FastReport中文网 http://www.fastreportcn.com/Article/70.html ------------------------------------------ ...

  5. 三HttpServletResponse对象介绍(1)

    转载自http://www.cnblogs.com/xdp-gacl/p/3789624.html Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象 ...

  6. 关于ASP控件对象的一些简单操作

    在线人数 Application.Lock(); Application[).ToString(); Application.UnLock(); Label1.Text = Application[& ...

  7. JavaScript Date对象介绍

    原文:JavaScript Date对象介绍 Date 日期和时间对象 1. 介绍 Date对象,是操作日期和时间的对象.Date对象对日期和时间的操作只能通过方法. 2. 构造函数 2.1 new ...

  8. HttpServletResponse对象介绍

    一.HttpServletResponse对象介绍

  9. ASP.NET系统对象

    一.ASP.NET 系统对象        Request:用来获取客户端在Web请求期间发送的值,如URL参数,表单参数        Response:用来负者返回到客户端的HTTP输出      ...

随机推荐

  1. 从linux看android之二--java世界的盘古女娲

    在linux从内核态进入用户态运行init进程后启动的一个进程就是zygote.zygote是在android系统中创建java世界的盘古,他创建了第一个java虚拟机,同时他又是女娲,他成功地繁殖了 ...

  2. git使用教程1-本地代码上传到github【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/git/ 前言 不会使用github都不好意思说自己是码农,github作为一个开源的代 ...

  3. vue的路由设置小结

    vue的路由设置小结 // 异步路由的编写示例.其中针对component字段进行懒加载及分块处理,提升首屏加载速度的同时,也可以手动控制让某些页面合并到一个单独的js文件中,而不是每个页面都是一个j ...

  4. IE浏览器Cookie信息提取工具Galleta

    IE浏览器Cookie信息提取工具Galleta   浏览器Cookie中保存着用户访问网站的各项敏感信息,如用户登录凭证.提取这些信息后,就可以以该用户的身份访问对应的网站.为了方便信息获取,Kal ...

  5. [Bzoj5285][洛谷P4424][HNOI/AHOI2018]寻宝游戏(bitset)

    P4424 [HNOI/AHOI2018]寻宝游戏 某大学每年都会有一次Mystery Hunt的活动,玩家需要根据设置的线索解谜,找到宝藏的位置,前一年获胜的队伍可以获得这一年出题的机会. 作为新生 ...

  6. IO模型同步与异步阻塞与非阻塞的区别

    同步异步的区别 关注点:同步和异步关注的是消息通信机制 同步:所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回.但是一旦调用返回,就得到返回值了.换句话说,就是由*调用者*主 ...

  7. symbol(s) not found for architecture arm64

    问题如下:       解决:更改环境 ok   Standard architectures (armv7, arm7s)

  8. 第一个Mac程序——倒计时v1&v2

    先放效果图: 这是我第一次尝试在Mac平台下编程,之前学过几天IOS开发,一直在等MJ老师更新.闲下来不编程不舒服,给自己,也给老婆编了这个以提醒自己好好学习.v2版加入了各种倒计时.改进了界面.把倒 ...

  9. thinkphp Auth认证类 比RBAC更好的权限认证方式(Auth类认证)

    thinkphp Auth认证类 比RBAC更好的权限认证方式(Auth类认证)    Auth 类已经在ThinkPHP代码仓库中存在很久了,但是因为一直没有出过它的教程, 很少人知道它, 它其实比 ...

  10. Excel设置下拉菜单并隐藏下拉菜单来源单元格内容

    一.问题来源 做实验室的进展统计表,老师让加上开始时间和完成时间,时间格式:周几_上午(下午.晚上). 这样就可以了做下拉菜单,方便填写,而且格式统一,方便查看. 二.解决办法 2.1 下来菜单 红框 ...