В начале года получил код dreamspark H4RQ9-QJ6FD-YJWJT-P6FVF-HGXQZ. При его вводе- сообщение что он просрочен.
|
Изучение архитектуры настроек ASP.NET
В данной лекции представлены следующие вопросы.
- Правила иерархической модели и то, как применить настройки к серверу, приложению, директории и одному файлу.
- Как обрабатываются разделы настроек, и как приложения осуществляют доступ к значениям.
- Внутренние механизмы примера обработчика раздела настроек.
Иерархическая модель настроек
Как говорилось в "Обзор настройки Microsoft ASP.NET" , модель настроек ASP.NET наследует параметры от сервера к приложению при помощи иерархической модели. Благодаря иерархической модели можно указать параметры в файле machine.config или web.config родительского приложения, и эти параметры будут переданы во все дочерние приложения. Дочерние приложения наследуют настройки от родительских приложений, и все приложения наследуют настройки из файла machine.config. Вы можете указать параметры для всего сервера, одного или нескольких приложений, одной или нескольких директорий и даже одного файла. При наследовании настроечных параметров используются следующие правила.
- Приложения сначала наследуют настройки из файла machine.config сервера, затем – из файла web.config родительского приложения и, наконец, из своего собственного файла web.config.
- Параметры в каждом файле web.config переопределяют параметры из файлов machine.config и web.config, стоящих перед ним.
- Наследование следует адресу URL запрошенного ресурса и не обязательно следует физической структуре файлов.
- Параметры из файла machine.config или файла web.config родительского приложения могут запретить переопределение параметров.
- С помощью установки расположения параметры могут относиться к конкретной директории, приложению или файлу.
Для наглядной демонстрации правил наследования давайте взглянем на сценарий, включающий несколько директорий и приложений. Для этого примера используются три приложения: App1, App2 и App3. На рисунке 2.1 показана виртуальная структура этих приложений.
На рисунке 2.1 App1 и App3 – это корневые приложения, а App2 – дочернее приложение App1.
Наследование в иерархической модели сначала берет во внимание виртуальную структуру, а затем – физическую структуру приложений. На рисунке 2.2 показана физическая структура приложений. Мы видим, что App1 – это поддиректория в директории wwwroot, а App2 и App3 –поддиректории App1. SubDir также является поддиректорией App1, но не является приложением или виртуальной директорией в IIS.
- Включите трассировку в файле machine.config на сервере, следуя шагам, описанным в разделе "Редактирование настроечных файлов" в "Обзор настройки Microsoft ASP.NET" . Сделав это изменение, вы включите трассировку для всех приложений и файлов .aspx на этом сервере.
- Отключите трассировку в файле web.config для App1 – первого веб-приложения.
При доступе к указанным URL вы увидите следующие результаты. В этом примере в качестве имени сайта взято http://www.northwindtraders.com/. При тестировании замените его именем вашего сайта.
- http://www.northwindtraders.com/App1. Этот URL наследует включенную трассировку из файла machine.config, но параметр в файле web.config для App1, отключающий ее, переопределяет данный параметр. Следовательно, для указанного URL трассировка отключена.
- http://www.northwindtraders.com/App1/App2. App2 является в виртуальной структуре дочерним приложением App1, и трассировка здесь также отключена, поскольку App2 наследует файл web.config для App1, а в файле web.config для App2 переопределение этого параметра отсутствует.
- http://www.northwindtraders.com/App1/SubDir. Для всех файлов в директории SubDir трассировка отключена, так как они наследуют этот параметр от файла web.config для App1.
- http://www.northwindtraders.com/App3. Для App3 трассировка включена, так как оно наследует только от файла machine.config сервера. Хотя в физической структуре это приложение дочернее по отношению к App1, оно не является дочерним в виртуальной структуре.
- http://www.northwindtraders.com/App1/App3. App3 – это самостоятельное приложение, но оно является поддиректорией App1 и доступ к нему может осуществляться по этому пути. В результате трассировка для App3 отключена, так как оно наследует данный параметр из файла web.config для App1.
URL ресурса определяет, какие настроечные параметры будет наследовать ресурс. Другими словами, одни и те же ресурсы наследуют различные настроечные параметры в зависимости от того, какой URL используется для доступа к ним. Поняв то, как настроечные параметры наследуются от сервера к приложениям, попробуем указать, к чему относятся настроечные параметры.