您的位置:首页 > 编程语言 > ASP

Asp.net管道 (第二篇)

2014-01-21 10:07 190 查看
  从请求进入ASP.NET工作者进程,直至它到达最终的处理程序之前要经过一系列的步骤和过程,这个步骤和过程称为ASP.NET处理管道。

  Asp.net的处理管道流程如下:

  


  语言描述如下:

Asp.net处理管道的第一步是创建HttpWorkerRequest对象,它包含于当前请求有关的所有信息。

HttpWorkerRequest把请求传递给HttpRuntime类的静态ProcessRequest方法。HttpRuntime首先要做的事是创建HttpContext对象,并用HttpWorkerRequest进行初始化。

创建了HttpContext实例之后,HttpRuntime类就通过调用HttpApplicationFactory的静态GetApplicationInstance()方法,为该应用程序请求HttpApplication派生类的一个示例。GetApplicationInstance()方法要么创建一个HttpApplication类的一个新实例,要么从应用程序对象池中取出一个实例。

在创建完成HttpApplication实例之后,就对它进行初始化,并在初始化期间分配应用程序定义的所

有模块。模块式实现IHttpModule接口的类,作用就是为了实现那经典的19个标准处理事件。

在创建了模块之后,HttpRuntime类通过调用它的BeginProcessRequest方法,要求最新检索到的HttpApplication类对当前请求提供服务。然后,为当前请求找到合适的处理程序工厂。

创建处理程序,传递当前HttpContext,一旦ProcessRequest方法返回,请求完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: