Файл applicationHost.config IIS 7.5 не обновляется

Я сейчас играю с пространством имен Microsoft.Web.Administration (MWA), чтобы настроить наше приложение для настройки IIS 7.5 с новым API. Я понял, что все изменения уровня IIS должны быть выражены в следующем файле (я использую Win2K8-R2):

%WINDIR%\System32\inetsrv\config\applicationHost.config

Итак, когда я использую объект ServerManager для фиксации изменений конфигурации, файл должен быть обновлено соответствующим образом.

После добавления нового типа MIME (программный с MWA) я не увидел никаких изменений в файле applicationHost.config , но я вижу новый тип MIME в окне диспетчера IIS и IIS без проблем распознает этот MIME-тип. Даже после перезапуска ОС - файл конфигурации не содержит вновь добавленного типа MIME, но в окне диспетчера IIS он указан.

Поскольку мои пулы приложений принудительно установлены на 32-разрядные ( Enable32BitAppOnWin64 = true ), Я подумал, что соответствующий файл конфигурации должен находиться в папке % WINDIR% \ SysWOW64 \ inetsrv \ Config , но (если он существует ...) - он также не меняется после того, как код фиксирует обновления.

Кто-нибудь может объяснить это? Я что-то упускаю (возможно, смотрю не тот файл?)? Может кто-нибудь пролить свет на каталог SysWOW64 \ inetsrv \ config ?

Это мой код для добавления типа MIME:

ServerManager manager = new ServerManager();
ConfigurationElementCollection staticContentCollection = manager
    .GetApplicationHostConfiguration()
    .GetSection("system.webServer/staticContent")
    .GetCollection();

//MIMETypes is a string[] array, each object is {FileExt},{MIMETypeStr}
foreach (string pair in MIMETypes)
{
    string[] mimeProps = pair.Split(',');

    ConfigurationElement mimeTypeEl = staticContentCollection
          .Where(a => 
                   (string)a.Attributes["fileExtension"].Value == mimeProps[0])
          .FirstOrDefault();


    if (mimeTypeEl != null)
    {
        staticContentCollection.Remove(mimeTypeEl);
    }

    ConfigurationElement mimeMapElement = 
                  staticContentCollection.CreateElement("mimeMap");

    mimeMapElement["fileExtension"] = mimeProps[0];
    mimeMapElement["mimeType"] = mimeProps[1];

    staticContentCollection.Add(mimeMapElement);
}

manager.CommitChanges();

//At this point all is working but the config file does not reflect the change
28
задан Kev 18 April 2011 в 00:02
поделиться