各版本IIS下ASP.net请求处理过程分析第2/3页
IIS7 站点启动并处理请求的步骤如下图:
步骤 1 到 6 ,是处理应用启动,启动好后,以后就不需要再走这个步骤了。

上图的8个步骤分别如下:
- 当客户端浏览器开始HTTP 请求一个WEB 服务器的资源时,HTTP.sys 拦截到这个请求。
- HTTP.sys contacts WAS to obtain information from the configuration store.
- WAS 向配置存储中心请求配置信息。applicationHost.config。
- WWW 服务接受到配置信息,配置信息指类似应用程序池配置信息,站点配置信息等等。
- WWW 服务使用配置信息去配置 HTTP.sys 处理策略。
- WAS starts a worker process for the application pool to which the request was made.
- The worker process processes the request and returns a response to HTTP.sys.
- 客户端接受到处理结果信息。
W3WP.exe 进程中又是如果处理得呢?? IIS 7 的应用程序池的托管管道模式分两种: 经典和集成。 这两种模式下处理策略各不相通。
本文作者:郭红俊 http://blog.joycode.com/ghj
IIS 6 以及 IIS7 经典模式的托管管道的架构
在IIS7之前,ASP.NET 是以 IIS ISAPI extension 的方式外加到 IIS,其实包括 ASP 以及 PHP,也都以相同的方式配置(PHP 在 IIS 采用了两种配置方式,除了 IIS ISAPI extension 的方式,也包括了 CGI 的方式,系统管理者能选择 PHP 程序的执行方式),因此客户端对 IIS 的 HTTP 请求会先经由 IIS 处理,然后 IIS 根据要求的内容类型,如果是 HTML 静态网页就由 IIS 自行处理,如果不是,就根据要求的内容类型,分派给各自的 IIS ISAPI extension;如果要求的内容类型是 ASP.NET,就分派给负责处理 ASP.NET 的 IIS ISAPI extension,也就是 aspnet_isapi.dll。下图是这个架构的示意图。
IIS 7 应用程序池的 托管管道模式 经典 模式也是这样的工作原理。 这种模式是兼容IIS 6 的方式, 以减少升级的成本。

IIS6 的执行架构图,以及 IIS7 应用程序池配置成经典模式的执行架构图
相关文章
Windows Server 2003服务器无法下载.exe文件的解决方法
这篇文章主要介绍了Windows Server 2003服务器无法下载.exe文件的解决方法,实际上是服务器的安全设置没有做好,包含了可执行文件权限,取消即可,需要的朋友可以参考下2014-06-06
浅析ASP.NET安全性分析(加强asp.net 1.1/2.0安全性)
本文介绍ASP.NET安全性是Web 应用程序中一个非常重要的方面,它涉及内容非常广泛,以及介绍讲述如何利用IIS以及Forms 身份验证构建安全的2012-11-11
Windows Defender防火墙未使用推荐的设置来保护计算机的解决方法
今天在配置服务器的时候突然发现防火墙提示未使用推荐的设置来保护计算机,可能不小心修改了防火墙的一些参数,下面就简单分析一下解决方法2024-05-05
真正可用的IIS的ISAPI-Rewrite伪静态URL图片防盗链规则写法
本规则支持白名单排除式防盗链,搜索引擎友好不屏蔽,被盗链后的错误提示转向,支持各种文件类型,经作者亲验真的能用2010-07-07
IIS “另一个程序正在使用此文件,进程无法访问。”错误提示的解决办法
用IIS管理器启动网站时,出现“另一个程序正在使用此文件,进程无法访问。”的错误提示。说明 此服务器的tcp 80端口已打开。一般情况下,可能是有另一个WEB服务已启动,它打开了80端口,另一种可能就是某个软件打开了80端口。2009-10-10


最新评论