在 IIS 7 中,您可以在以下级别配置设置:
- Web 服务器
- 站点
- 应用程序
- 虚拟目录或物理目录
- URL(也称为文件级配置)
配置文件
配置保存在物理目录的服务器级配置文件或 Web.config 文件中。每个配置文件都映射到一个特定的站点、应用程序或虚拟目录。
服务器级配置存储在下列配置文件中:
- Machine.config。此文件位于 %windir %/Microsoft.NET/Framework/framework_version /CONFIG 中。
- .NET Framework 的根 Web.config。此文件位于 %windir %/Microsoft.NET/Framework/framework_version /CONFIG 中。
- ApplicationHost.config。此文件位于 %windir %/system32/inetsrv/config 中。
站点、应用程序以及虚拟和物理目录配置可以存储在下列位置之一中:
- 服务器级配置文件。当站点、应用程序、目录或 URL 配置存储在服务器级配置文件中时,必须使用位置标记来指定配置所适用的站点、应用程序、目录或 URL。
- 父级 Web.config 文件。当应用程序、目录或 URL 的配置存储在父级配置文件中时,必须使用位置标记来指定配置所适用的子级。
- 站点、应用程序或目录的 Web.config 文件。在配置应用程序、目录或 URL 的设置时,配置将存储在该站点、应用程序或目录所在的目录中。您不需要使用位置标记。
出现下列情况时,将配置设置存储在父配置文件中会十分有用:
- 您希望将配置设置存储在只能由某些用户或组访问的配置文件中。例如,ApplicationHost.config 文件只能由管理员帐户、特定计算机上管理员组的成员以及域管理员(当计算机位于域中时)进行访问。
- 您希望在 URL 级别(也称为文件级别)配置功能。
继承
站点、应用程序、虚拟目录、物理目录和文件会继承服务器级配置文件以及所有父配置文件中的配置设置。例如,应用程序会继承服务器级配置文件以及站点根应用程序的 Web.config 文件中的配置设置。下表说明了可用于存储对象配置的配置文件。
配置对象 | 服务器级配置文件 | 父级配置文件 | 其他配置文件 | 注释 |
---|---|---|---|---|
Web 服务器 | Machine.config 根 Web.config ApplicationHost.config | 不适用 | 不适用 | 不需要使用位置标记。服务器级配置只能存在于服务器级配置文件中。 |
站点 | Machine.config 根 Web.config ApplicationHost.config | 不适用 | 站点的根应用程序 Web.config | 使用位置标记将站点配置存储在服务器级配置文件中。 |
应用程序 | Machine.config 根 Web.config ApplicationHost.config | 站点的根应用程序 Web.config | 应用程序的 Web.config | 使用位置标记将应用程序配置存储在服务器级配置文件或父配置文件中。 |
虚拟目录或物理目录 | Machine.config 根 Web.config ApplicationHost.config | 父站点的根应用程序 Web.config 父应用程序的 Web.config | 目录的 Web.config 文件 | 使用位置标记将目录配置存储在服务器级配置文件或父配置文件中。 |
URL(或文件) | Machine.config 根 Web.config ApplicationHost.config | 父站点的根应用程序 Web.config 父应用程序的 Web.config 父目录的 Web.config | 不适用 | 使用位置标记将 URL 特定的配置存储在服务器级和父级配置文件中。 |