Опубликован: 24.01.2007 | Доступ: свободный | Студентов: 1253 / 82 | Оценка: 4.37 / 4.17 | Длительность: 14:27:00
ISBN: 978-5-94774-627-3
Лекция 2:

Изучение архитектуры настроек ASP.NET

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >

Позиционирование настроечных параметров

С помощью тега location можно связать параметры с конкретным путем, приложением или файлом. Это особенно полезно, если вы планируете использовать для физической директории различные параметры, но не хотите (или не должны) делать эту директорию приложением. Например, требуется, чтобы одна директория имела различные параметры трассировки. Используйте тег location и добавьте в файл web.config для App1 следующий текст.

<location path="SubDir">
  <system.web>
    <trace enabled="false" />
  </system.web>
</location>

<location path="notracepage.aspx">
  <system.web>
    <trace enabled="false" />
  </system.web>
</location>

Данный способ отключает трассировку для всех файлов в директории SubDir.

Замечание. Обратите внимание, что вам все равно требуется включить в тег location группу разделов system.web. Всегда при использовании тега location должно быть включено имя группы разделов.

Трассировка будет также отключена для всех поддиректорий директории SubDir. Вы можете использовать данную процедуру для назначения настроечных параметров одному файлу. Это приведет к отключению трассировки для файла notracepage.aspx, расположенного в корневой директории App1.

Пример из практики. Использование тега location оказывается полезным, когда требуется задать права доступа для одного файла приложения. Помните, что это работает только для файлов, обрабатываемых ASP.NET, то есть вы не можете применить настроечные параметры к файлам html или графическим файлам, поскольку они обрабатываются IIS, а не ASP.NET.

Запрет переопределения настроечных параметров

Оказывается, можно переопределить параметры в файле web.config приложения. Однако бывают ситуации, когда необходимо запретить переопределять параметры. К счастью, есть параметр, позволяющий это сделать.

Если в нашем примере установить параметр allowOverride в файле machine.config или web.config в значение false, то независимо от того, что вы укажете в наследующем файле web.config приложения, трассировка всегда будет отключена.

<system.web>
  <trace enabled="false" allowOverride="false" />
</system.web>
<location path="SubDir" allowOverride="false >
  <system.web>
    <trace enabled="false" />
  </system.web>
</location>

Можно использовать этот параметр в сочетании с тегом location.

<location path="SubDir" allowOverride="false" >
<system.web>
<trace enabled="false">
</system.web>
</location>
Пример из практики. Запрет на переопределение настроечных параметров особенно полезен, если вы являетесь администратором или работаете в компании, предоставляющей услуги хостинга. Он позволяет установить глобальные параметры для вашего сервера, которые не могут быть изменены вашими клиентами для отдельных приложений.

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

< Лекция 1 || Лекция 2: 1234 || Лекция 3 >
Геннадий Щербаков
Геннадий Щербаков

В начале года получил код dreamspark  H4RQ9-QJ6FD-YJWJT-P6FVF-HGXQZ. При  его вводе- сообщение что он просрочен.