Вложенное приложение ASP.NET в IIS, наследующее родительские настройки конфигурации?

В настоящее время у меня есть 2 x ASP.NET 3.5 веб-приложения в IIS7 (позволяет называть их WebParent и WebChild).

WebChild вложен в список WebParent в IIS7 и настроен как приложение (а не только виртуальный каталог в WebParent). Оба в настоящее время используют свой собственный (classический) пул приложений.

Оба WebParent и WebChild имеют свои собственные полностью определенные файлы web.config в своих собственных корневых каталогах.

Я предположил, что, поскольку WebChild определяется как «приложение» в IIS, он не наследует ничего из файла конфигурации WebParent. Однако, несмотря на эту конфигурацию, я вижу ошибки, связанные с различными элементами внутри уже определенного web.config (что верно, есть пара элементов, которые находятся в обоих файлах конфигурации, но я думал, что к ним нужно обращаться полностью независимо от одного другой)?

Может кто-нибудь объяснить, почему это может произойти?

Если они повторяются, вам нужно будет затем в дочернем приложении web.config, а затем добавить элемент, который вам нужен, чтобы он был на месте. Это предполагает, что вы хотели бы иметь другое значение. Если вы этого не сделаете, просто опустите элемент. Строка соединения будет хорошим примером того, что, вероятно, будет распространено для всех приложений, поэтому вам нужно только указать его в корне.

Пример:

        

Точное решение вашей проблемы будет зависеть от того, какое сообщение об ошибке конфигурации вы видите. Однако это типичная проблема, которая часто может быть решена с помощью атрибута inheritInChildApplications для элемента location в web.config для «WebParent». Упаковывая весь раздел system.web в элемент местоположения следующим образом, вы должны устранить описанную вами проблему:

      

С IIS 7 вы также захотите обернуть секцию system.WebServer так же:

      

Это решение основано на отличной статье в блоге, которую я нашел здесь .

Я думаю, что inheritInChildApplications = “false” хорош для случаев, когда вы все еще хотите унаследовать часть конфигурации от родителя. В тех случаях, когда вы хотите полностью остановить наследование (как в этом случае, если я прав), я бы предложил использовать 2 отдельных пула приложений для 2 приложений, а затем применить не очень хорошо документированный параметр в файле applicationHost.config как я объяснил в этом вопросе «Ввод уже добавлен» – Два отдельных пула приложений

    

Следуйте рекомендациям Скотта, а также убедитесь, что вы правильно нажали WebChild в IIS и выбрали «Преобразовать в приложение».

  • IIS7, web.config, чтобы разрешить только статический обработчик файлов в каталоге / загрузках веб-сайта
  • Установка страницы по умолчанию в Asp.net
  • как добавить файлы в процесс преобразования web.config?
  • Хранить массив строк в appSettings?
  • Шифрование Web.Config
  • web.config перенаправляет не-www на www
  • Переменные в app.config / web.config
  • Что получает приоритет, maxRequestLength или maxAllowedContentLength?
  • Раздел конфигурации «system.web.extensions» не может быть прочитан, потому что отсутствует объявление раздела
  • Использовать преобразование web.config Visual Studio для отладки
  • Добавить пользовательский заголовок на основе типа файла
  • Давайте будем гением компьютера.