Httpmodule和Httphandler(转发)
在实际开发当中,Httpmodule和Httphandler是非常有用,同样也是非常重要的两大对象.我们可以通过他们来处理一些客户端发送过来的http请求,比如我们常用的URL rewrite技术,就是利用了Httpmodule这个对象来截取用户请求来转发地址的。 下面我们来了解一下从用户请求到服务器响应完毕的整个过程,可以帮助我们更好的了解这两大对象 客户端浏览器向服务器发出一个http请求,此请求会被inetinfo.exe进程截获,然后转交给aspnet_isapi.dll,接着它又通过Http Pipeline的管道,传送给aspnet_wp.exe这个进程,接下来就到了.net framework的HttpRunTime处理中心,处理完毕后就发送给用户浏览器。 当一个http请求被送入到HttpRuntime之后,这个Http请求会继续被送入到一个被称之为HttpApplication Factory的一个容器当中,而这个容器会给出一个HttpApplication实例来处理传递进来的http请求,而后这个Http请求会依次进入到如下几个容器中: HttpModule --> HttpHandler Factory --> HttpHandler 当系统内部的HttpHandler的ProcessRequest方法处理完毕之后,整个Http Request就被处理完成了