HTTP 请求处理流程

大致过程如下:

1、IIS得到一个请求

2、查询脚本映射扩展,然后把请求映射aspnet_isapi.dll文件

3、代码进入工作者进程(IIS 5 里是aspnet_wp.exe;IIS6 里是w3wp.exe),工作者进程也叫辅助进程;

4、.NET 运行时被加载;

5、非托管代码调用 IsapiRuntime.ProcessRequset()方法;

6、每一个请求调用一个IsapiWorkerRequset;

7、使用WorkerRequset 调用HttpRuntime.ProcessRequset() 方法;

8、通过传递过来的WorkerRequset 创建一个HttpContext对象;

9、通过把上下文对象作为参数传递给HttpApplication.GetApplication(),然后调用该方法,从应用程序池中获取一个HttpApplication实例;

10、调用HttpApplication.Init(),启动管道事件序列,钩住模块处理器;

11、调用HttpApplication.ProcessRequset ,开始处理请求;

12、触发管道事件;

13、调用HTTP处理器喝ProcessRequset 方法;

14、把返回的数据输出到管道,触发处理请求后的事件

posted @ 2022-02-10 13:36  探索的动机  阅读(168)  评论(0编辑  收藏  举报