请求执行顺序

 l IIS得到一个请求
  l 查询脚本映射扩展,然后把请求映射到aspnet_isapi.dll文件
  l 代码进入工作者进程(IIS5里是aspnet_wp.exe;IIS6里是w3wp.exe)
  l .NET运行时被加载
  l 非托管代码调用IsapiRuntime.ProcessRequest()方法
  l 每一个请求调用一个IsapiWorkerRequest
  l 使用WorkerRequest调用HttpRuntime.ProcessRequest()方法
  l 通过传递进来的WorkerRequest创建一个HttpContext对象
  l 通过把上下文对象作为参数传递给HttpApplication.GetApplicationInstance(),然后调用该方法,从应用程序池中获取一个HttpApplication实例。
  l 调用HttpApplication.Init(),启动管道事件序列,钩住模块和处理器
  l 调用HttpApplicaton.ProcessRequest,开始处理请求
  l 触发管道事件
  l 调用HTTP处理器和ProcessRequest方法
  l 把返回的数据输出到管道,触发处理请求后的事件
posted @ 2010-01-15 12:07  小小小浩  阅读(265)  评论(0编辑  收藏  举报