Как вы знаете, System.DirectoryServices
биты обертывают слой совместимости IIS6.0.Но уровень совместимости просто обеспечивает сопоставление с функциями, которые поддерживаются только в IIS6.
IIS6 не имел реальных знаний о ASP.NET, кроме того, что это сопоставление сценария с одним или двумя фильтрами ISAPI (и незначительное обновлениев MMC IIS, чтобы разрешить массовое переключение сценариев из одной версии ASP.NET в другую).
IIS6 хранит большую часть своей конфигурации в метабазе, поэтому API-интерфейсы предназначены для управления хранилищем метабазы.Метабаза IIS6 не знает ASP.NET и web.config
, опять же ASP.NET - это просто карта сценариев.
В файле web.config
сайта никогда не было никаких настроек для управления IIS6.IIS 6 не использует этот файл, поэтому уровень совместимости также не учитывает и не учитывает дополнительные параметры, которые могут быть настроены в разделе <system.webServer>
файла web.config
сайта.
IIS6Слой совместимости эмулирует метабазу, изменяя эквивалентные настройки только в applicationHost.config
.
IIS7 изменяет игру и настройки в файлах web.config
(в разделе <system.webServer>
теперь ассимилируется в общую конфигурацию среды выполнения сайта).когда он запускается.
Итак, если вы хотите получить агрегированное представление конфигурации сайта IIS7, вам нужно будет использовать новые управляемые API Microsoft.Web.Administration
и Microsoft.Web.Management
. Вы также можете использовать appcmd.exe
инструмент настройки командной строки.
Используя эти инструменты, вы можете указать, где вы хотите прочитать или изменить настройки, например, на уровне Application Host или на уровне локального сайта.
Это должноСледует отметить, что многие параметры всегда считаются наследуемыми, если они не переопределены файлом конфигурации с болееc местоположение (например, сайт или подкаталог).
Консоль IIS7 MMC имеет тенденцию помещать изменения (например, отображения обработчиков, типы MIME и т. д.) в локальный файл web.config
сайта.Если вам нужно убедиться, что эти изменения более постоянны и не подвержены риску удаления, вы можете зафиксировать их в файле applicationHost.config
, но вам нужно использовать либо appcmd.exe
(с переключателем /commit:apphost
, либо работать с управляемымAPI используют такие инструменты, как VB.NET, C # или PowerShell.