HttpRequest-->
inetinfo.exe-->
ASPNET_ISAPI.dll-->
ASPNET_WP.exe-->
HttpRuntime-->
HttpApplication Factory-->
HttpApplication-->
HttpModule-->
HttpHandler Factory-->
HttpHandler-->
HttpHandler.ProcessRequest()
通过上面的流程中,我们可以看到HttpModel在何时被执行的。
ASP.NET请求处理过程是基于管道模型的,这个管道模型是由多个HttpModule和HttpHandler组成,ASP.NET 把http请求依次传递给管道中各个HttpModule,最终被HttpHandler处理,处理完成后,再次经过管道中的HTTP模块,把结果返回给 客户端。我们可以在每个HttpModule中都可以干预请求的处理过程。