ASP.net应用程序生命周期

ASP.net的应用程序生命周期就是从点击浏览器按钮发送请求开始,到该请求完成为止的一个宏观过程。

一,用户从 Web 服务器请求应用程序资源。

该过程是客户点击浏览器发送请求给Web服务器,比如IIS。IIS调用ISAIP扩展服务(例如Asp.net服务),找到要处理该请求相应的ISAPI扩展。在这里你可以吧ISAPI扩展理解为DLL。每个请求找到相应的DLL。


二,ASP.NET 接收对应用程序的第一个请求

就是在第一次请求该WEB服务器的时候,Asp.net会调用ApplicationManager来创建一个HostingEnviroment。宿主应用程序域。这就是用来跑你的应用程序的。

三,为每个请求创建 ASP.NET 核心对象。

当然第一次请求也算在内,在创建完应用程序域之后,就开始创建我们常常提到的内置对象了。ASP.NET 将创建并初始化核心对象,如 HttpContextHttpRequest 和HttpResponseHttpContext 类包含特定于当前应用程序请求的对象,如 HttpRequest 和 HttpResponse 对象。HttpRequest 对象包含有关当前请求的信息,包括 Cookie 和浏览器信息。HttpResponse 对象包含发送到客户端的响应,包括所有呈现的输出和 Cookie。

四,HttpApplication对象分配给请求

在核心内置对象初始化OK之后,就要是进入我们写的代码了。将通过创建 HttpApplication 当 ASP.NET 完成授权事件以使缓存模块从缓存中为请求提供服务时发生,从而跳过事件处理程序(例如某个页或 XML Web services)的执行。类的实例启动应用程序。如果应用程序具有 Global.asax 文件,则 ASP.NET 会创建 Global.asax 类(从 HttpApplication 类派生)的一个实例,并使用该派生类表示应用程序。

五,HttpApplication管线处理请求。

该过程提供了对每个请求处理的共性方法:请求开始的时候,当安全模块已建立用户标识时发生,当安全模块已验证用户授权时发生。在当前请求的用户已获授权时发生,在 ASP.NET 跳过当前事件处理程序的执行并允许缓存模块满足来自缓存的请求时发生。 等等哈。太复杂了。但是我们能够理解,就是在每次请求过程中每个阶段,我们可以预处理一些方法,比如验证角色,错误跳转等。我们一般实现他通过派生类Global.asax。重点会用他就OK了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值