如何:锁定 ASP.NET 配置设置

更新:2007 年 11 月

默认情况下,位于子目录中的 ASP.NET 配置文件重写并扩展在父配置文件中声明的配置设置。在应用程序宿主方案中,您可能希望锁定 ASP.NET 应用程序的某些设置,以防在较低级别进行修改。例如,您可以锁定宿主应用程序的安全设置,以防管理员意外更改这些安全设置。

可以通过将 allowOverride 属性添加到 location 元素中并将 allowOverride 属性设置为 false 来锁定 ASP.NET 配置文件(Web.config 文件)中的配置设置。然后,可以在 location 元素中定义要锁定的配置节。如果另一个配置文件尝试重写在这个锁定的 location 元素中定义的任何配置节,则 ASP.NET 将引发异常。

使用具有 allowOverride=false 属性的 location 元素会锁定整个配置节。还可以使用 lockItem、lockElements、lockAttributes、lockAllAttributesExcept 和 lockAllElementsExcept 锁定单个配置元素和属性。有关更多信息,请参见节元素所继承的常规属性

示例

下面的代码示例显示 Web.config 文件中的某个部分,这一部分锁定以下两个不同 ASP.NET 应用程序的信任级别:application1 和 application2。如果尝试重写 trust 配置节中的配置设置,则将引发配置系统错误。

<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>

请参见

任务

如何:使用位置设置配置特定目录