默认情况下,位于子目录的配置文件覆盖并扩展父配置文件中定义的所有配置设置。在应用程序宿主方案中,管理员通常要锁定或禁止他人访问站点上的某些设置以免这些设置被修改。例如,管理员可能要锁定宿主应用程序的沙盒安全设置,以防止 Web 用户攻击该系统。
管理员可通过将 allowOverride="false" 属性添加到 <location> 指令中来锁定配置设置。它通知配置系统:如果低级配置文件试图覆盖此锁定 <location> 指令中定义的任何配置节,则引发错误。
以下配置文件示例(可在主系统级别或站点级别存储该文件)锁定两个不同的 ASP.NET 应用程序(application1
和 application2
)的信任级别。
<configuration>
<location path="application1" allowOverride="false">
<system.web>
<trust level="High"/>
</system.web>
</location>
<location path="application2" allowOverride="false">
<system.web>
<trust level="Medium"/>
</system.web>
</location>
</configuration>
如果使用以下示例中的配置设置覆盖上一示例中的配置设置,就会生成一个配置系统错误。
<configuration>
<system.web>
<trust level="Full"/>
</system.web>
</configuration>