Блокировка параметров конфигурации

Visual Studio 2010

Обновлен: Ноябрь 2007

По умолчанию файлы конфигурации, находящиеся во вложенных каталогах, заменяют и дополняют все параметры конфигурации, заданные в родительских файлах конфигурации. В сценариях размещения приложений администраторы часто желают заблокировать определенные параметры веб-узла или сделать их неизменяемыми, чтобы предотвратить их последующее изменение. Например, администратор может пожелать установить для размещенных на компьютере приложений параметры безопасности изолированной программной среды, чтобы снизить риск атак из Интернета.

Администраторы могут заблокировать параметры конфигурации, добавив атрибут allowOverride="false" к директиве <location>. При наличии этого атрибута попытка изменения в файлах конфигурации нижнего уровня любого раздела конфигурации, определенного в заблокированной директиве <location>, приводит к возникновению ошибки.

В следующем примере файла конфигурации, который может располагаться как на основном системном уровне, так и на уровне веб-узла, выполняется блокировка уровня доверия для двух различных приложений ASP.NET (application1 и application2). Другими возможными атрибутами блокировки для использования являются lockItem, lockAttributes, lockElements и т. д. Дополнительные сведения см. в разделе Общие атрибуты, наследуемые элементами раздела.

<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>
Показ: