Создание вложенных приложений.NET 3.0 в приложениях.NET 1.1 в IIS/ASP.Net
Я в основном пытаюсь сделать то же самое, что и этот вопрос, создать новое приложение в папке, чтобы к нему можно было получить доступ следующим образом.
* http://www.domain.com/ < Main App
* http://www.domain.com/newapp < New App
Проблема в том, что newapp читает файл web.config из основного приложения, что приводит к ошибкам, потому что у него нет одинаковых библиотек и т. Д.
Для нового приложения в IIS отправная точка установлена в /newapp, поэтому я не уверен, почему он вообще читает web.config из /. Это установлено как его собственное приложение.
Я тестирую это в IIS6 на XP Pro, поэтому не уверен, что это имеет значение. Основное приложение - это dotnet 1.1, а новое приложение - 3.0.
Редактировать: добавление наследственных приложений в <location
> не работает в 1.1, вы получаете ошибку:
Parser Error Message: Unrecognized attribute 'inheritInChildApplications'
2 ответа
Это по замыслу. Web.config читается из корня в соответствующую папку приложения. Все изменения в корне применяются к вашему приложению, если ваше приложение не изменяет его. Прочитайте эту ссылку MSDN, чтобы лучше понять иерархию и наследование Web.config.
Чтобы ваше приложение игнорировало настройки в корневом каталоге, вам нужно применить элемент location с атрибутом attributeitInChildApplications, установленным в значение false для пути.
Что-то вроде:
<location path="." inheritInChildApplications="false">
<settings.....>
</location
Например, если в корневом каталоге web.config есть раздел, относящийся только к корневому приложению, оберните элемент location вокруг этого раздела. Используйте путь "." чтобы указать, что вы хотите, чтобы все элементы в пути под этой папкой приложения НЕ наследовали этот раздел.
Как уже было сказано - унаследованные InChildApplications не работают в.net 1.1.
Я провел много исследований в этой области, и я изначально приземлился здесь в поисках решений. Субъект не дает понять, что это целевой вопрос 1.1.
Если у вас возникли проблемы, и ваши приложения имеют версию 2.0 или выше, ознакомьтесь с этой статьей, чтобы получить много подробной информации об атрибуте inheritInChildApplications: