Какая конфигурация не используется во вторичном файле web.config для веб-приложения ASP.NET? - PullRequest
0 голосов
/ 12 сентября 2011

Веб-приложения ASP.NET, над которыми я работаю, используют несколько файлов web.config. Один находится в корневой веб-папке, а затем у нас есть другой проект (* .csproj) с именем «admin», который находится во вложенной папке в корневом веб-каталоге приложения, содержащего собственный файл web.config. Какая конфигурация ASP.NET (или другая конфигурация) ИСПОЛЬЗУЕТСЯ (или НЕ ИСПОЛЬЗУЕТСЯ) во вторичном файле web.config? Я нахожусь в процессе обновления средств управления Telerik Rad и добавления некоторых новых функций. Однако ни один из этих элементов управления не применяется к основному веб-приложению. Все они относятся к страницам проекта администратора. Поэтому я не хочу добавлять что-либо в основной / основной файл web.config, если смогу помочь. Если вы также можете поделиться какими-либо ошибками (или ограничениями) при использовании вторичного web.config, сделайте это!

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

web.config файлы по существу объединены через иерархическую структуру, как и все файлы конфигурации. Учтите следующее:

machine.config (1)
    -> web.config (2)
         -> applicationHost.config (3)
              -> web.config (4)
                  -> web.config (5) 

Механизм конфигурации в .NET позволяет переопределять (или блокировать) элементы конфигурации на различных этапах иерархии конфигурации, где:

  1. machine.config - это конфигурация уровня машины - конфигурация здесь применяется к всем .NET приложениям.
  2. root web.config - это веб-конфигурация на уровне компьютера, в которой настраивается большинство модулей / обработчиков ASP.NET, а конфигурация применяется к всем приложениям ASP.NET.
  3. applicationHost.config - корневая веб-конфигурация IIS7 - элементы конфигурации модуля / обработчика используются, когда пул приложений работает в интегрированном режиме.
  4. application web.config - веб-конфигурация уровня приложения. Конфигурация здесь применяется к приложению и всем дочерним папкам / виртуальным папкам.
  5. virtual folder web.config - это веб-конфигурация на уровне виртуальной папки. Конфигурация здесь применяется к текущей виртуальной папке и всем дочерним папкам / виртуальным папкам.

Если вы работаете на IIS <7 или IIS7 в режиме классического конвейера, файл <code>applicationHost.config не используется как часть объединенной конфигурации.

Инфраструктура конфигурации .NET будет объединять конфигурации по всей иерархии, подчиняясь переопределениям и заблокированным элементам конфигурации при необходимости.

В вашем случае, я бы подумал, что вам нужно применить конфигурацию на уровне виртуальных папок в вашем приложении IIS.

0 голосов
/ 12 сентября 2011

Оба Web.configs используются. Файл Web.config в корневой папке будет влиять на все, что находится ниже; Web.config в подкаталоге корневой папки также повлияет на все, что находится ниже. Если существуют конфликты между обоими файлами Web.config, приложение, вероятно, вызовет исключение (например, если вы добавите ключи приложения с одинаковым значением в оба файла Web.config).

Если ваши элементы управления Telerik будут использоваться только в проекте, расположенном в подкаталоге, вам следует добавить изменения в файл Web.config в этом подкаталоге, а не в корне.

...