IIS 6 架构与 ASP.NET 应用配置全解析
1. IIS 架构概述
IIS 的架构发生了显著变化,这些变化直接影响着 Web 应用程序和服务的设计方式。下面将从 IIS 服务、XML 元数据库和 IIS 6 隔离模式三个方面详细探讨 IIS 如何处理 Web 应用程序。
1.1 IIS 服务
IIS 使用两个服务来管理其组件:
- IIS Web 服务 :负责处理对 Web 应用程序或服务的 HTTP 请求,以 w3svc.dll 形式运行,是服务主机 svchost.exe 的一部分。
- IIS 管理服务 :包含 INetInfo 组件。
IIS 6 Web 服务可进一步分解为三个主要组件:
- HTTP.sys :是内置于 Windows 系统的 HTTP 监听器,负责将 HTTP 请求路由到运行 Web 应用程序的用户模式进程,并将响应返回给客户端。它不处理任何请求,因此代码中的错误不会导致系统故障或影响内核模式进程。将其集成到内核模式而非用户模式进程中,有两个性能优势:一是内核直接将每个请求的上下文传递给适当的进程,每个请求只需切换一次上下文,而不是像旧版 IIS 架构那样两次;二是启用内核模式缓存,可在不切换到用户模式的情况下提供缓存返回。此外,HTTP.sys 还为 IIS 提供其他服务,如 TCP 连接管理、基于文本的日志记录、服务质量功能(包括连接限制、连接超时、队列长度限制和带宽限制)。
- Web 管理服务(WAS) :负责配置和进程管理