A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈辉 中级黑马   /  2012-11-20 17:56  /  1434 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈辉 于 2012-11-21 08:48 编辑

各位大神,请问下asp.net的生命周期是怎么回事?急啊。

5 个回复

倒序浏览
ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。
回复 使用道具 举报


页请求
页请求发生在页生命周期开始之前。用户请求页时,ASP.NET 将确定是否需要分析和编译页(从而开始页的生命周期),或者是否可以在不运行页的情况下发送页的缓存版本以进行响应。
开始
在开始阶段,将设置页属性,如 Request 和 Response。在此阶段,页还将确定请求是回发请求还是新请求,并设置 IsPostBack 属性。此外,在开始阶段期间,还将设置页的 UICulture 属性。
页初始化
页初始化期间,可以使用页中的控件,并将设置每个控件的 UniqueID 属性。此外,任何主题都将应用于页。如果当前请求是回发请求,则回发数据尚未加载,并且控件属性值尚未还原为视图状态中的值。
加载
加载期间,如果当前请求是回发请求,则将使用从视图状态和控件状态恢复的信息加载控件属性。
验证
在验证期间,将调用所有验证程序控件的 Validate 方法,此方法将设置各个验证程序控件和页的 IsValid 属性。
回发事件处理
如果请求是回发请求,则将调用所有事件处理程序。
呈现
在呈现之前,会针对该页和所有控件保存视图状态。在呈现阶段中,页会针对每个控件调用 Render 方法,它会提供一个文本编写器,用于将控件的输出写入页的 Response 属性的 OutputStream 中。
卸载
完全呈现页并已将页发送至客户端、准备丢弃该页后,将调用卸载。此时,将卸载页属性(如 Response 和 Request)并执行清理
回复 使用道具 举报
asp.net生命周期包括 :初始化、加载视图状态 处理回发数据、加载、发送回发更改通知、处理回发事件、预呈现、保存状态、呈现、处置。卸载。

页面执行包含了下表中按顺序列出的几个阶段,他们被标志成为应用程序级别的事件,同时也可能是一些受保护、重定义的方法:
阶段 页面事件 可重定义的方法
页面初始化 Init   
视图状态加载   LoadViewState
回传数据处理   控件里实现了IPostBackDataHandler接口的LoadPostData方法
页面加载 Load   
回传数据变化检查   控件里实现了IPostBackDataHandler接口的RaisePostDataChangedEvent方法
回传事件处理 控件里定义的回传事件 控件里实现了IPostBackEventHandler接口的RaisePostBackEvent方法
页面预返回阶段 PreRender   
页面返回阶段 Render   
页面卸载阶段 Unload   
回复 使用道具 举报
一般来说,页要经历上面几位同学概述的各个阶段。除了页生命周期阶段以外,在请求前后还存在应用程序阶段,但是这些阶段并不特定于页。ASP.NET 应用程序生命周期的各个阶段包括:
1.用户从 Web 服务器请求应用程序资源。
2.ASP.NET 接收对应用程序的第一个请求。
3.为每个请求创建 ASP.NET 核心对象。
4.将 HttpApplication 对象分配给请求。
5.由 HttpApplication 管线处理请求。
回复 使用道具 举报
谢谢大家了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马