Ошибочно использовать раздел, зарегистрированный как allowDefinition = 'MachineToApplication' за пределами уровня приложения - PullRequest
2 голосов
/ 19 октября 2010

Я хочу управлять двумя файлами web.config в приложении: одним для внешнего пользователя и вторым для внутреннего (admin) user.for раздела администратора. Я создал папку с именем admin * 1002.* на том же сайте. Следующие настройки находятся в admin / web.config

, когда я пытаюсь запустить приложение, я получаю следующее сообщение об ошибке:

Ошибка использовать раздел, зарегистрированный как allowDefinition =«MachineToApplication» за пределами уровня приложения.Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен в качестве приложения в IIS

Та же проблема обсуждалась ниже ASP.NET Причины: ошибка использования зарегистрированного разделаas allowDefinition = 'MachineToApplication' за пределами приложения ...?

Ошибка использовать раздел, зарегистрированный как allowDefinition = 'MachineToApplication' за пределами уровня приложения

Пожалуйста, дайте мне несколько советов, чтобы решить эту проблему.Заранее спасибо

Ответы [ 4 ]

6 голосов
/ 16 февраля 2011

Я столкнулся с той же проблемой, когда у меня было веб-приложение внутри другого веб-приложения, в результате чего появилось два файла Web.config. Я удалил один и проблема была решена. Поскольку параметры конфигурации на дочернем уровне могут переопределять параметры на родительском уровне, эта ошибка может возникать, когда у вас есть 2 файла web.config, один из которых переопределяет параметры конфигурации, которые нельзя переопределить, например, состояние аутентификации или сеанса. Проблема возникает, когда у вас может быть настроено состояние аутентификации / сеанса на web.config нижнего уровня, а также на web.config более высокого уровня

4 голосов
/ 24 апреля 2011
  • Существует огромное количество информация о получении этой ошибки в IIS. Я потратил часы на проблемы так, потому что там никогда не было ЯСНЫЙ ОТВЕТ.

    Вы услышите такие вещи, как

    Это означает, что если у вас есть приложение, вы не должны настраивать настройки MachineToApplication в web.config в подкаталогах.

    Все, что вам нужно сделать, это установить Настройки MachineToApplication в вашем Корень приложения, и они будут наследуется в подкаталогах.

    Решение:

    Настроить все MachineToApplication настройки в корне вашего приложения, и удалите все MachineToApplication настройки из вашего приложения подкаталоги.

    На что все ответы НЕ УКАЗАНЫ НАМЕРЕНИЕ в том, что существует множество права доступа к файлам, безопасность и т. д. происходит с любым файлом в IIS.

    Раньше было проще, но с увеличение распространения, это становится намного, намного сложнее.

    У меня есть одно решение, которое я использовал который заставил мой IIS работать -

    первый. Протестируйте простую HTML-страницу в новом Веб-приложение. Если вы можете заставить это работать, тогда ты должен быть хорош для следующего шаги.

    второй. Когда вы думаете о вопрос, который начал это, у вас есть Файл Machine.config в E: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG каталог для вашей платформы.

    Это файл, который устанавливает тип Разрешенных определений. ( Ищу что в конфиге) либо allowDefinition = "MachineToApplication" or allowDefinition = "Machine"

    Когда кто-то говорит, что вы должны поставить ваш web.config в ваших приложениях Папка "Root", в зависимости от того, как ваш приложение настроено, будет диктовать где разместить ваш web.config.

    Чтобы заставить мою работать, я положил ее в E: \ Inetpub \ wwwroot folder.

    третий. Вам придется проверить, какие разделы для включения в конфиг корневая папка, и какие вы можете поместите в своем различном веб-приложении папки.

    четвёртая. Это работа в процессе, но Я хотел получить это там, пока Я работал над этим, и это было свежо в моей голове ...

    Я выложу больше позже, когда уладлю больше вопросов.

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

    т. Я устал от взлома пытаясь заставить его вести себя правильно, но я хочу тщательно проверить система и документ, именно то, что нужно сделать, и почему, чтобы получить приложения работают и работают быстро ...

    Спасибо, что прочитали это.

3 голосов
/ 19 октября 2010

Вам нужно установить его как приложение в IIS.

0 голосов
/ 18 апреля 2012

У меня была такая же проблема при использовании установки Kentico. По общему признанию, это не серебряная пуля, но в этом случае это было потому, что один из базовых шаблонов CorporateSiteAspx имел свой собственный файл webconfig, содержащий параметры конфигурации, которые использовали requirePermission="false" allowDefinition="MachineToApplication"

При исключении этого файла (который в любом случае не использовался) приложение было успешно построено.

...