Как правильно настроить это дочернее приложение IIS 7.5? - PullRequest
3 голосов
/ 17 июня 2011

У меня есть родительское приложение, размещенное в корневой папке моего сайта. Это приложение .NET 4.0, и пул приложений, очевидно, настроен на 4.0.

Я хочу настроить дочернее приложение по адресу:

/ блог

Это приложение .NET 2.0 (это BlogEngine.NET). Я создал новый виртуальный каталог с именем «блог», указал его на соответствующий каталог, преобразовал его в приложение и поместил в собственный пул приложений, установленный на .NET Framework 2.0.

Я отредактировал родительский файл web.config и добавил:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
      <configSections>
         <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
    </configSections>
  ....entire web.config basically...
  </location>
</configuration>

Сразу после элемента. Однако, когда я перехожу к http://localhost/blog,, я получаю следующую ошибку:

Невозможно прочитать раздел конфигурации 'configSections', поскольку в нем отсутствует объявление раздела

У кого-нибудь есть идеи, что здесь происходит или чего мне не хватает?

Ответы [ 2 ]

2 голосов
/ 17 июня 2011

К сожалению, это недостаток способа, которым IIS обрабатывает виртуальные каталоги. Web.config вашего родительского приложения по-прежнему читается, хотя его нет в дочернем приложении. Я пытался вложить приложение 4.0 как дочернее приложение 3.5 до и после нескольких дней разочарования, SO вопросов и сообщений на форуме, я наконец пришел к выводу, что это было больше проблем, чем оно того стоило.

0 голосов
/ 18 июня 2011

Почему бы вам просто не обновить BlogEngine до Asp.net 4.0?

Загрузите веб-версию BE 2.0, откройте ее в Visual Studio и спросите: «Хотели бы вы 4.0?» Скажите да, тогда он нацелен на web.config для вас.

Затем вы можете просто загрузить новый файл web.config на свой сервер.

Если у вас старая версия BE, вы можете обновить ее до последней стабильной версии.

...