ASP.NET Web 应用程序及页面生命周期
以客户端浏览器向 ASP.NET Web 应用程序页面发送请求(Request)为起点,以浏览器收到 Web 服务器的响应(Response)为终点,这一完整的过程被称为“应用程序及页面的生命周期”。
ASP.NET Web 页面生命周期开始之前发生了什么?
- 用户浏览器向 Web 服务器(IIS)发出资源的请求。
- Web 服务器收到请求,会根据请求文件的扩展名(如 .aspx、.ascx、.ashx、.asmx),指定 ISAPI 扩展来处理该请求,这里提到的扩展名将会由 aspnet_isapi.dll 来处理。
- ASP.NET 接收到应用程序中任何资源的“第一个”请求时,ApplicationManager 类会创建一个应用程序域,应用程序域将为全局变量提供隔离。
- 在应用程序域中,HostingEnvironment 类将创建一个实例,提供有关应用程序的信息(如该应用程序的文件夹所在、名称等)的访问。
- 在这之后,ASP.NET 将创建并初始化核心对象(HtppContext、HttpRequest、HttpResponse)。HttpContext 类包含当前请求的特定对象(HttpRequest 和 HttpResponse);HttpRequest 包含当前请求的信息(如 URL,Cookie,浏览器信息);HttpResponse 包含将要发送到客户端的响应(html,Cookie)。
- 初始化核心对象之后,ASP.NET 创建 HttpApplication 的实例启动应用程序,创建 Global.asax 类(如果应用程序有这个文件的话)。HttpApplication 实例在第一次请求时被创建,之后的多个请求将共用此实例(提高了应用程序的性能)

ASP.NET 管线处理请求流程(包含 aspx 页面生命周期)

请注意,各种事件(Event)发生的顺序和所处管道,牢记哪些是在 Modeule 中执行的,哪些又是在 Handler 中执行的。
aspx 页面的生命周期
明白了页面生命周期,及其中事件发生的顺序,以及事件发生时控件的状态,就能找到合适的接入点来植入你的程序逻辑。换言之,把逻辑处理放在 PageLoad事件中执行并不一定是最优选择。

ASP.NET Web 应用程序及页面生命周期的更多相关文章
- 【译】ASP.NET应用程序和页面生命周期
为何翻译此文 一.此文是Code Project社区2010年4月ASP.NET板块的最佳文章,说明了此文的份量: 二.锻炼自己的英文技术文章翻译能力,提高英文技术文档阅读能力: 三.了解掌握ASP. ...
- 微信小程序:页面生命周期
小程序生命周期分为应用生命周期和页面生命周期 1.Onload:页面加载时触发,一般在onLoad中发送异步请求来初始化页面数据. 2.onShow:页面显示时触发 3.onReady:页面初次渲染完 ...
- 【转载】ASP.NET应用程序与页面生命周期
在本文中,我们将了解不同的事件,ASP.NET 应用程序的生命周期以浏览器向 Web 服务器(对于 ASP.NET 应用程序,通常为 IIS)发送请求为起点,直至将请求结果返回至浏览器结束.在这个过程 ...
- ASP.NET应用程序与页面生命周期
http://www.cnblogs.com/suizhouqiwei/archive/2012/08/15/2637775.html
- [转]ASP.NET应用程序生命周期趣谈(四) HttpHandler和页面生命周期
在之前的三篇文章中,我们还算简明扼要的学习了asp.net的整个生命周期,我们知道了一个Request进来以后先去ISAPI Filter,发现是asp.net程序后又ASPNET_ISAPI.dll ...
- ASP.NET页面生命周期和asp.net应用程序生命周期
作为一个asp.net程序员,不了解ASP.NET页面生命周期和asp.net应用程序生命周期是绝对不行的,那永远只能是菜鸟级别.我很早就学过,可是没次还是得去翻,一些事件还是记不住,还是记在自己的b ...
- ASP.net 页面生命周期
ASP.NET 页面生命周期 Page_Preinit(); 在页初始化开始时发生 Page_Init(); 在所有控件初始化且应用外观设置后引发 Page_InitComplete(); 在页初始化 ...
- ASP.Net请求处理机制初步探索之旅 - Part 4 WebForm页面生命周期
开篇:上一篇我们了解了所谓的请求处理管道,在众多的事件中微软开放了19个重要的事件给我们,我们可以注入一些自定义的业务逻辑实现应用的个性化设计.本篇,我们来看看WebForm模式下的页面生命周期. ( ...
- ASP.NT运行原理和页面生命周期详解及其应用
ASP.NT运行原理和页面生命周期详解及其应用 1. 下面是我画的一张关于asp.net运行原理和页面生命周期的一张详解图.如果你对具体不太了解,请参照博客园其他帖子.在这里我主要讲解它的实际应用. ...
随机推荐
- Mutex 和 Lock
#include <future> #include <mutex> #include <iostream> #include <string> #in ...
- MyEclipse中直接打开class文件的方法
安装步骤: 1>下载jad.exe(这是一个class文件的反编译工具,但是是命令行运行编译,使用起来不是很方便:), 将其拷贝到%JAVA_HOME%/bin目录下(其他目录也可). 2> ...
- HDU 4691 正解后缀数组(暴力也能过)
本来是个后缀数组,考察算法的中级题目,暴力居然也可以水过,就看你跳不跳坑了(c++和G++返回结果就很不一样,关键看编译器) 丝毫不差的代码,就看运气如何了.唯一差别c++还是G++,但正解是后缀数组 ...
- 转的: 重绘ListView 修改标题颜色
1.owerDraw 设置为true 2.实现事件 DrawColumnHeader DrawItem DrawSubItem private void listView1_DrawColumnHea ...
- easyui 筛选数据及仅允许选择数据
先说需求,本地已缓存数据源,用户输入拼音码或编号,筛选数据作为新的数据源,然后通过键盘选择. 再说问题,easyui combogrid控件,在mode为local,也就是将数据源缓存在本地的情况下, ...
- <转>Win7系统下利用U盘安装Ubuntu_12.04实现双系统教程
目前网上流传的关于Linux 系统的安装教程可是说是五彩缤纷,之前想采用硬盘安装方式,由于配置问题未能正确安装,现研究了下U盘安装,根据互联网上的一些资料及自己的总结,在Windows7 系统下采用U ...
- Android 学习第13课,android 实现发送短信的功能
1. 界面布局 界面代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
- SDK截图(四):压缩位图实例
这个问题研究了两天.<windows程序设计>中没有给出实例,MSDN也没有给出具体的例子.在知道,CSDN提问后,也没有得到答案.所以决定重新对DIB做一次彻底的研究,这大概会花去我一个 ...
- mvc3 上传图片
这是在Control里使用的代码,是在后台管理需要上传图片时使用的,不过我在这犯了一个错误, Request.Files[inputName];inputName名字中的大小写<input ty ...
- CS0016: 未能写入输出文件“c:\WINDOWS\Microsoft.NET\Framework\.。。”--“拒绝访问
aspx 常见错误 CS0016: 未能写入输出文件“c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/... ...