网站开发——ASP.NET MVC 管道处理模型
一直对ASP.NET MVC 只是会用,但一直不明白其所以然,为什么我们输入一段网址就可以到达我们的程序,当我们的服务器收到一个Http请求时,IIS是依据什么去处理不同类型的文件呢,那就让我们带着这些疑问,一起去一探究竟吧。
首先我们必须要知道,当我们在浏览器中输入一段地址,DNS会解析域名,然后就可以找到是哪台服务器哪一个进程,请求到达服务器后,HTTP.SYS会监听我们的Http请求,通过HTTP.SYS服务接收Http请求,然后再通过IIS转发给ISAPI(ISAPI就是会处理各种后缀的应用程序,它实际上只是一个接口,起到一个代理的作用,它的主要工作就是映射所请求的页面文件和与此后缀名相对应的实际处理程序)。转发给aspnet_ISAPI,会找到我们的宿主环境,HttpRuntime通过ProcessRequestNotificationPrivate方法完成上下文HttpContext初始化,通过HttpApplicationFactory工厂创建出HttpApplication,走到这里才是到我们自己写的程序中
详细文章请看 http://www.cnblogs.com/JimmyZhang/archive/2007/09/04/880967.html