asp.NET是由管道模型组成的,他是由多个http module和一个http handler组成。在ASP.NET可以有多个正在执行的Module,但只能有一个正在执行的handler。
asp.net处理http requests的处理流程是:
HttpRequest-->inetinfo.exe-->ASPNET_ISAPI.dll-->ASPNET_WP.exe-->HttpRuntime-->HttpApplication Factory-->HttpApplication-->HttpModule-->HttpHandler Factory-->HttpHandler-->HttpHandler.ProcessRequest()
Http Request到达http module时,还没有真正进行处理该请求,可以在该阶段附加一些信息、截获一些信息或停止请求。在http handler处理完毕后,可以在http module再次进行处理,把正确的结果返回给客户端。