385 MGraphics.ru - ASP.NET - Конфигурирование ASP.NET приложений. Обзор config.web
Уроки photoshopa


ASP.NET

Конфигурирование ASP.NET приложений. Обзор config.web

Условия перепечатки материалов

Рейтинг статьи: 11111
Проголосовало 2 человека.
Оцените статью:

Конфигурирование ASP.NET приложений. Обзор config.web

В предыдущих частях мы уже упоминали про файл web.config. Не сложно догадаться, для чего он нужен - для конфигурирования приложения. Однако более подробно о действии установок файла, его структуре и возможном составе складывается противоречивое впечатление. Здесь мы опишем возможности и правила применения web.config.

Для начала заметим, что какой-либо из файлов web.config всегда применяется к asp.net приложению. Разница заключается лишь в том, какой из существующих система будет использовать. При установке dotNET создается конфигурационный файл по умолчанию, который и будет применяться, если не указан конкретный web.config.

Поясним, как система определяет местопоожение конфига и в какой последовательности она просматривает каталоги.
Итак, при запуске Вашего приложения система начинает поиск.Сначала просматривается тот виртуальнй каталог, где находится приложение. Если файл не обнаружен, то система будет обследовать все виртуальные директории, содержащие текущий. Интересно, но то же самое произойдет и в случае обнаружения файла. Это довольно удобно, так как в случае большого приложения можно задатьобщие настройки (например, в ...my APP), а затем уточнять их и расширять для более мелких частей (директории вида ...my APPConcrete Part).Файлы, находящиеся ниже в дереве каталогов переопределяют параметры, указанный в конфигурационных файлах более высокого уровня.. Наконец, последний файл, который будет просмотрен находится в папке WinNTMicrosoft.NETFramework<version>config.web.

Теперь поговорим о формате конфигурационного файла. Как и почти все текстовые файлы в dotNET конфиг имеет XML синтакс и должен быть легко читаем человеком. Понятно, что, благодаря XML, как простота работы, так и удобство программной обработки будут обеспечены.
Вся информация размещается между парой тегов <configuration> Внутри этих тегов находятся две глобальные части. Первая задается внутри тега <configsections> и указывает, какие параметры будут определены в данном конфигурационном файле. Здсь же указывается, какие классы несут ответсвенность за обработку этих параметров. Приведем пример:

<add names="globalization" type="System.Web.Config.GlobalizationConfigHandler"/>

Здесь определяется секция globalization и обработчик для нее. Для ограниченного набора частей web.config, считающихся стандартными, соответствющие обработчики уже прописаны в "системном" web.config и будут унаследованы во всех остальных файлах. Если же вы определяете собственные значения, то для их обработки рекомендуется использовать System.Web.Configuration.DictionarySectionHandler. С помощью этого класса будете получать хзш таблицу, где будут храниться все требуемые пары имя/значение. Возможность добавлять нестандартные секции в конфигурационный файл позволяет хранить там необходимую статическую информцию, такую как строки соединений с базой данных или необходимые URL. Пример (взят из документации Microsoft):
<configuration>
  <configsections>
    <section name="databases" type="System.Web.Configuration.DictionarySectionHandler"/>
  </configsections>
    <databases>
      <add key="pubs" value="server=localhost;uid=sa;pwd=;database=pubs"/>
      <add key="northwind" value="server=localhost;uid=sa;pwd=;database=pubs"/>
    </databases>
</configuration>

Здесь определена секция databases, не являющаяся стандартной. Я упомянул про стандартную часть web.config. Она включает следующие секции:

<globalization> Отвечает за глобализационные установки приложения.
<compilation> Отвечает за все, свяанное с компиляцией приложений..
<trace> Отвечает зы настройку отладочных служб ASP.NET..
<security> Отвечает за настройки, связанные с безопасностью приложений.

Последнее, о чем мы еще не поговорили - как получать значения, хранящиеся в config.web программно. Здесь все очень просто. Все что надо - вызвать GetConfig класса System.Web.HttpContext. На что следует обратить внимание, так зто возвращаемое при этом значение. Оно зависит от сопоставленного обработчика, а потому надо знать, к какому типу привести полученный результат.

Copyright by © 2000-2004 dotSITE
Автор:
Автор:

Разместил: Vulko
Опубликовано: 03.07.2004
Статья "ASP.NET - Конфигурирование ASP.NET приложений. Обзор config.web" прочтена 10110 раз.





Последние новости