IIS 7.0掌控两个配置的文件applicationHost.config和web.config。通过使用配置锁定和管理委托,管理员可以使开发人员和更低级别的管理者控制特定的配置部分,同时将其他配置部分锁定以防止修改。
web.config可以在网站级和应用程序级对配置进行控制,而applicationHost.config可以控制服务器本身。
因为配置是可继承的,所以web.config可以重新定义更高级别的设置。
applicationHost.config文件
文件applicationHost.config保存在%windir%system32inetsrvconfig目录下,遵循形如<attribute-name>="<default-value>"[<metadata>] [<description>]的标准格式。
这个文件中的配置节内容与以下代码类似:
<system.webserver>
<defaultDocument enabled="true">
<files>
<add value="Default.aspx" />
</files>
</defaultDocument>
</system.webserver>
它为服务器启用了默认访问文档,将该文档设置为Default.aspx,并且设置为仅可访问Default.aspx。
web.config文件
通过修改web.config文件中网站级的设置,对这个设置修改,其语法与上述内容是完全相同的,请参考下面代码。下面代码只是将包括了web.config文件的网站的默认访问文档从Default.aspx修改为Home.asx。其他网站仍然要从applicationHost.config文件中继承相关设置。
<system.webserver>
<defaultDocument enabled="true">
<files>
<remove value="Default.aspx" />
<add value="Home.aspx" />
</files>
</defaultDocument>
</system.webserver>
在默认安装的情况下,IIS 7.0并没有在网站的根目录下创建web.config文件,因此,所有的设置都保存在applicationHost.config文件中。
通过使用IIS Manager修改诸如默认文档等网站设置,可以在网站根目录下创建一个web.config文件,这个文件中保存了网站配置信息。同时,即使在没有ASP.NET的情况下,这个文件还保存了ASP.NET应用程序配置信息。
此外,web.config文件中还保存了所有与applicationHost.config文件中默认内容不同的IIS设置。
PS:IIS7.0已经为其他应用程序平台使用IIS 7.0的某些功能提供了支持,例如,其他应用程序平台可以在applicationHost.config文件中保存配置信息,并且可以使用Windows Process ActivationService。WindowsCommunication Foundation(WCF)就是这类平台之一。
因此,IIS7.0配置文件的迁移过程中,没有将配置文件applicationHost.config直接命名为webServer.config。