探索ASP.NET的生命周期

时间:2022-07-18 07:03:44

探索ASP.NET的生命周期

(重庆三峡职业学院)

【摘要】的生命周期在程序执行过程中具有重要意义,本文就应用程序的生命周期和web页面的生命周期进行了深入的分析和探索。

【关键字】生命周期

的生命周期是一个比较复杂的问题,也是一个比较有深度的问题,它在开发中有着重要的作用,对于一个合格的程序员,它是必须要了解和掌握的,它包括应用程序的生命周期和页面生命周期,我们将从上述两个方面来进行深入探讨。

应用程序生命周期

在中,若要对应用程序进行初始化并使它处理请求,必须执行一些处理步骤,可以把应用程序生命周期分为5个阶段:

第一阶段:用户从WEB服务器请求应用程序资源。

应用程序的生命周期以浏览器向Web服务器发送请求为起点,当web服务器接收到请求时,会对所请求文件的扩展名时行检查,确定应由哪个ISAPI扩展处理该请求,然后将该请求传递给合适的ISAPI扩展。处理已映射到其上的文件扩展名。

第二阶段:接收对应用程序的第一个请求。

当接收到对应用程序中任何资源和第一个请求时,名为Application Manager的类会创建一个应用程序域,它为全局变量提供应用程序隔离,并允许单独卸载每个应用程序。

第三A段:为每个请求创建核心对象。

创建了应用程序域并对Hosting Environment对象进行实例化之后,将创建并初始化核心对象,如HttpContext、HttpRequest和HttpResponse。HttpRequest对象包含有关当前请求的信息,包括Cookie和浏览器信息,HttpResponse对象包含发送到客户端的响应。

第四阶段:将HttpApplication对象分配给请求。

初始化所有核心应用程序对象之后,将通过创建HttpApplication类的实例启动应用程序。如果应用程序具有Global.asax文件,则会创建Global.asax类的一个实例,并使用该派生类表示应用程序。

第五阶段:由HttpApplication管线处理请求。

在处理该请求进将由HttpApplication类执行相应事件。

2、页面生命周期

页面运行时,此页也将经历一个生命周期,在生命周期中将执行一系列处理步骤,这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现等。

一般说来,一个页面要经历如下各个阶段。

其一、浏览器发出请求

浏览器提出请求发生在页面生命周期之前。浏览器请求页面时,将确定是否需要分析和编译页,从而开始的生命周期。

其二、页面框架初始化

在这个阶段开始创建页面,它产生在页面中用标签定义的所有控件。Page.Init事件在这个阶段将被触发。

其三、用户代码初始化

Page.Load事件在这个处理阶段被触发,不管是第一次请求还是作为回发的一部分被请求,Page.Load事件总会触发。通过属性IsPostBack来决定是否是第一次加载。

其四、验证阶段

在验证期间,将调用所有验证程序控件的Validate方法,从而进行数据验证。

其五、事件处理阶段

在这阶段,页面被完全装载且通过验证。将触发在上次回发后发生的所有事件,包括立即反映事件和变化事件。

其六、清除阶段

在页面生命周期的最后阶段,页面呈现为HTML。页面呈现后,真正的清除开始并触发Page.UnLoad事件。

通过如下所示图例可以有效的理解页面生命周期。

3、演示页面生命周期

为了能加深对页面生命周期的理解,下面通过一个模拟示例来演示页面生命周期。

在项目中新建一页面PageLoad.aspx,其代码如下:

void Page_Init(Object sender, EventArgs e)

{Response.Write("正在¨初始化(Init事件)

");}

void Page_Load(Object sender, System.EventArgs e)

{

if (!IsPostBack)

{ Response.Write("这是第?一次Load事件

"); }

else

{ Response.Write("这是PostBack后的Load事件

"); }

}

void Button1_Click(Object sender, System.EventArgs e)

{Response.Write("欢迎你(Click事件)

"); }

(上接131页)var _userid = '';var _siteid =669;var _istoken = 1;var _model = 'Model03'; WebPageSpeed =1859; UrchinTrack();

当页面第一次加载时,结果如图2所示,当点击确定按钮时,结果如图3所示。

正确理解生命周期和页面生命周期对于理解程序和执行具有很重要的意义,它能解释很多让人无法解释的问题:

其一、内置对象如Respons、Request等对象在什么时候创建,怎样创建,怎样应用就有很好的指导意义;

其二、能正确理解Global.asax文件的类的对象创建和事件的执行过程;

其三、页面从页面对象生成到消亡的过程;

其四、能更好地理解页面的环回机制,页面的多次回发的执行过程;

其五、能深入理解Page对象的IsPostBack属性在页面加载过程中的重要作用;

其六、能解释Web页面为什么是无状态的,页面信息为什么在多次回发过程中信息无法保留。

总之,应用程序及页面的生命周期它是web应用程序运行过程中的基石,理解它的产生过程就是理解了web程序的执行过程,对于分析和调试程序具有现实意义。

上一篇:探究火力发电厂热控保护装置的检修和维护措施 下一篇:工业4.0环境下我国汽车物流现状分析及展望