Можно ли полностью отменить "более высокий" web.config в подпапке?

Можно ли полностью отключить web.config в подпапке?

Очевидно, что у меня есть файл web.config в корне.

Если у меня есть подпапка под названием "MyApp", могу ли я написать там кучу кода и запустить ее без ссылки на web.config на root? Он будет иметь свой собственный web.config и даже не будет ссылаться на "более высокий" web.config в корне.

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

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

Дубликат Будет ли дочернее приложение наследоваться от его родительского web.config?

Ответ 1

Да, вы должны очистить эти разделы, чтобы их переопределить. Размышляя об этом немного больше, это имеет смысл, так как единственный способ очистить все может сильно затруднить работу по ее устранению. Clear обычно сбрасывает все, включая корневые web.configs в файлах web.configs и machine.config, определенных в папке frameworks/config на вашем сервере.

Обратите внимание, что вы также потеряете доступ к папке /bin, папке/app_code и т.д. Это может быть или не быть тем, что вы хотите.

Можно ли создавать суб-приложения с вашим хостом, это еще один вопрос.

Ответ 3

Нет. По дизайну для совместного хостинга и простоты.

IIS7 изменяет это немного, позволяя явно блокировать/разблокировать конфиги.

Ответ 4

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

Ответ 5

Я только что столкнулся с этой проблемой в своей работе, и моим решением было создать новый веб-сайт, вместо того чтобы пытаться вложить мое приложение в существующий веб-сайт. Я сохранил домен, сопоставляющий то же самое для нового приложения (т.е. Www.mysite.com), но изменил номер порта/сопоставление.

В результате я могу использовать свое новое приложение на сайте www.mysite.com:88 и не должен был использовать субдомен.

Оговорка здесь в том, что мое приложение является веб-службой, поэтому мне нужно указать номер порта в URL-адресе. Возможно, это не вариант для вас, но я думал, что отправлю это сообщение, это поможет кому-то в моей ситуации.

Решение <location path="." inheritInChildApplications="false"></location> не было для меня вариантом, поскольку inheritInChildApplications похоже не существует до ASP.Net Framework 4.0?