Как я могу настроить виртуальный каталог / приложение в IIS7, чтобы он не наследовал какие-либо настройки web.config? - PullRequest
0 голосов
/ 01 июня 2011

У меня есть веб-сайт ASP.NET/IIS 7, который работает нормально. Теперь я хочу добавить классическое приложение ASP на сайт в подпапке. Это два совершенно разных приложения. Один набор пользователей будет использовать существующее приложение ASP.NET - другой набор пользователей будет использовать классическое приложение ASP. Поэтому я решил создать новую папку вне корневого каталога и скопировать туда классическое приложение ASP. Когда я попытался посетить страницу по умолчанию классического приложения ASP, меня перенаправили на страницу входа (из-за настроек web.config в моем приложении ASP.NET). Поэтому я преобразовал папку для классического приложения ASP в приложение. Это позаботилось о проблеме входа. Но теперь я получаю сообщения об ошибках, связанных с пользовательским поставщиком ролей, который я использую в приложении ASP.NET.

Я предполагаю, что каким-то образом мне нужно настроить мое классическое приложение ASP, чтобы оно не наследовало ничего от web.config основного приложения ASP.NET. Я правильно об этом думаю?

Есть ли у кого-нибудь еще идеи о том, как лучше добавить устаревшее приложение ASP на сайт ASP.NET?

Спасибо, Corey

Ответы [ 2 ]

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

Использование clear должно работать, но если вы столкнетесь с более нежелательными унаследованными настройками, вы можете отключить наследование всех настроек веб-конфигурации для всех папок приложения ниже корневой папки, отредактировав файл web.config в корневом каталоге и вставив Элемент location с атрибутом inheritInChildApplications, установленным в значение false.

<?xml version="1.0"?>
<configuration>
    <location path="." inheritInChildApplications="false"> 
    <!--old web.config elements in root of site -->
    </location>
</configuration>
0 голосов
/ 01 июня 2011

Есть ли на классическом сайте ASP файл web.config? Если нет, то я думаю, что вы сможете добавить один.

Затем для каждого раздела в файле web.config, где классический сайт ASP унаследовал некоторые параметры, вы сможете добавить тег <clear />, чтобы удалить все, что определено далее по цепочке.

Так, например, чтобы очистить пользовательский поставщик ролей, ваш классический ASP web.config должен выглядеть примерно так:

<roleManager ...>
    <providers>
        <clear/>
    </providers>
</roleManager>

Надеюсь, это поможет.

...