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、把返回的数据输出到管道,触发处理请求后的事件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix