`

ASP.NET页面生命周期与应用程序生命周期

 
阅读更多

ASP.NET页面生命周期与应用程序生命周期

页面生命周期

页面生命周期执行一系列步骤:页面的初始化、实例化控件、还原和维护状态、运行事件处理程序代码、呈现。为了在合适的阶段执行所需的代码,所以要对页面生命周期非常熟悉。在页生命周期的各个阶段,页面会逐个引发定义的事件,通过对代码开发,在页面的生命事件中执行我们所需要的程序
页生命周期阶段

1、 页请求:发生在页面生命周期之前,用户请求页时,ASP.NET将确定是否需要分析和编译页,从而确定是否开始页面的生命周期,或者是否可以在不运行页的情况下发送页面缓存以进行响应。

2、 开始:设置页属性,如:HttpContext以及其他属性;在此阶段,页面需要确定是回发请求还是新请求,并设置IsPostBack属性;设置页面的UICulture属性。

3、 页面初始化:加载所有主题;控件生成,并设置UniqueID
注:ViewStateControlState中的值还未加载至控件;如果页面是回发,则回发数据也还未加载;故此时控件可以访问,但值可能出错。

4、 加载:如果当前请求是回发请求,则为控件加载ViewStateControlState中的值。

5、 验证:调用所有验证程序控件的Validate方法,此方法将设置验证程序控件和页的IsValid属性。

6、 回发事件处理:如果请求是回发请求,则调用所有事件处理程序。

7、 呈现:首先对该页和所有控件进行保存视图状态,然后对每个控件调用Render方法,它会提供一个文本编写器,用于将控件的输入写入页的Response属性的OutputStream中。

8、 卸载:完成呈现,并已将页发送至客户端、准备丢弃该页后,调用卸载。将卸载属性如:ResponseRequest等等。

页生命周期事件:

1PreInit
完成操作:检查IsPostBack属性来确定是不是第一次处理该页;
创建或重新创建动态控件
动态设置主控页
动态设置Theme属性
读取或设置配置文件属性
注:如果请求是回发请求,则控件的值尚未从视图状态恢复,即:不应该在此事件中设置控件属性。

2Init
完成操作:在所有控件都已经初始化并且应用所有外观设置后引发。使用该事件来读取和初始化控件属性。

3InitComplete
完成操作:由Page对象引发,使用该事件来处理要求完成所有初始化工作的任务。

4PreLoad
完成操作:为页和所有控件加载视图状态,然后处理Request 实例包括的任何回发数据。
注:如果需要在Load之前对页或控件进行处理,需要该事件。

5Load
完成操作:以递归方式加载所有控件。

6、控件事件
完成操作:处理控件引发的事件。

注:在回发请求中,如果页包含验证程序控件,请在执行任何处理之前检查Page和各个验证控件的IsValid属性。

7LoadComplete

8PreRender
在控件输出前最后的修改机会。
注:在该事件发生前的操作:
Page
对所有控件递归进行EnsureChildControl操作
设置了DataSourceID属性的数据绑定控件会调用DataBind方法。

9SaveStateComplete
在该事件发生前,已经对控件的ViewState进行了保存。将忽略对页和控件所作的所有修改。

10Render
方法,便于开发

11UnLoad

应用程序生命周期

在应用程序的生命周期期间,应用程序会引发可处理的事件并调用可重写的特定方法。若要处理应用程序事件或方法,可以在应用程序根目录中创建一个名为 Global.asax 的文件。如果创建了 Global.asax 文件,ASP.NET 会将其编译为从 HttpApplication 类派生的类,然后使用该派生类表示应用程序。

HttpApplication 进程的一个实例每次只处理一个请求。由于在访问应用程序类中的非静态成员时不需要将其锁定,这样可以简化应用程序的事件处理过程。这样还可以将特定于请求的数据存储在应用程序类的非静态成员中。例如,可以在 Global.asax 文件中定义一个属性,然后为该属性赋一个特定于请求的值。

Application_Start Application_End 方法是不表示 HttpApplication 事件的特殊方法。在应用程序域的生命周期期间,ASP.NET 仅调用这些方法一次,而不是对每个 HttpApplication 实例都调用一次。

分享到:
评论

相关推荐

    ASP.NET页面生命周期描述

    ASP.NET页面生命周期描述,介绍了页面是如何生成的,变量的生存周期

    ASP.NET 应用程序生命周期

    IIS7.0 ASP.NET 应用程序生命周期ASP.NET 应用程序生命周期ASP.NET 应用程序生命周期

    ASP.Net页面生命周期

    ASP.Net学习手迹---ASP.Net页面生命周期

    ASP.NET页面生命周期

    这是对ASP.NET页面生命周期的简介,只有一页内容,需要的可以下载看看,留作资料吧,没有分的可以发邮件向我索取,tutuzzg@163.com

    asp.net生命周期

    Asp.Net应用程序生命周期以浏览器向Web服务器(IIS)发送请求为起点。Web服务器接收到请求时,会对所请求文件的文件扩展名进行检查,确定应该由哪一个ISAPI扩展(Asp.Net是Web服务器下的一个ISAPI扩展)来处理请求,...

    【ASP.NET编程知识】详解ASP.NET页面生命周期.docx

    【ASP.NET编程知识】详解ASP.NET页面生命周期.docx

    asp.net页面生命周期

    学习.net的时候很容易被页面的加载机制生命周期这些东西迷惑,现在给大家介绍一点儿关于页面生命周期的资料,希望对你会有帮助!

    ASP.NET Page生命周期详解

    (1)请求页面:页请求发生在页生命周期开始之前。 (2)开始:在开始阶段,将设置页属性,如Request和Response。在此阶段,页还将确定请求是回发请求还是新请求,并设置IsPostBack属性。 (3)初始化页面:页面初始...

    ASP.NET生命周期图片详解

    ASP.NET生命周期图片详解,帮您快速了解服务器端空间、页面的生命周期。

    详解ASP.NET页面生命周期

    ASP.NET页面运行时候,页面将经历一个生命周期,在生命周期中将执行一系列的处理步骤。包括初始化、实例化控件、还原和维护状态、运行时间处理程序代码以及进行呈现。熟悉页面生命周期非常重要,这样我们才能在生命...

    asp.net mvc request生命周期流程图

    asp.net mvc request生命周期流程图

    ASP.NET 生命周期 整理讲义

    IIS 5.0 和 6.0 的 ASP.NET 应用程序生命周期概述 IIS 7.0 的 ASP.NET 应用程序生命周期概述 ASP.NET 页生命周期概述 ASP.NET 编译概述 了解 ASP.NET 动态编译 如何:创建 ASP.NET 应用程序级别的事件处理程序

    ASP.NET的网页代码模型及生命周期

    在ASP.NET中,可以创建ASP.NET网站和ASP.NET应用程序,ASP.NET网站的网页元素包含可视元素和页面逻辑元素,并不包含designer.cs文件。而ASP.NET应用程序包含designer.cs文件。创建ASP.NET网站,首先需要创建网站,...

    ASP.NET的WEB生命周期,

    web的生命周期,细节的描述了在ASP.NET中的web从开始早卸载的过程

    ASP.NET页面框架 Video

    在本次讲座中,我们将给大家详细介绍有关ASP.NET页面框架的一些知识,如页面生命周期、页面事件、页面指令、页面编程模型等等。 <br/> 课程讲师: 邵志东 MSDN特邀讲师 北京新科海学校 副总经理 <br...

    测试代码:Asp.Net底层解析(四)——应用程序生命周期与HttpModule

    本人在博客“Asp.Net底层解析(四)——应用程序生命周期与HttpModule”中的测试代码

    ASP.NET应用程序生命周期

    这是对ASP.NET应用程序生命周期的简介,只有一页内容,需要的可以下载,没有分的,可以给我发邮件索取,注明要什么东西。tutuzzg@163.com

    asp.NET生命周期图文解释

    通过图文详细阐述了asp.net页面的生命周期,让初学者对页面生命周期的了解有一个大致的认识。

    调整和优化ASP.NET应用(CHM)

    软件介绍 主要从开发的角度介绍了如何调整和优化ASP.NET应用程序的性能,英文,原名称为Performance Tuning and Optimizing ASP Dot NET Applications Tags: 调整和优化ASP.NET应用(CHM)

Global site tag (gtag.js) - Google Analytics