IIS 7 - измените атрибут allowDefinition для раздела конфигурации в machine.config

У нас есть ситуация, когда нам нужно явно ограничить system.web/processModel/maxAppDomains = 1 для одного сайта. Проблема в том, что system.web/processModel может быть установлен только на уровне machine.config по умолчанию:

<configuration>
    <configSections>
        <sectionGroup name="system.web">
            <section name="processModel" allowDefinition="MachineOnly" />
        </sectionGroup>
   </configSections>
<configuration>

я знаю это %windir%/system32/inetsvr/appcmd.exe можно использовать для обновления параметров конфигурации IIS, но я не нашел способа обновить allowDefinition атрибут processModel определение раздела. Кто-нибудь может указать мне правильное направление здесь?

Спасибо

2 ответа

Решение

Используя провайдера WMI:

' SetAllowDefinition is a static method, you should call it by getting a class object, as in the following example  
Set oAnonAuth = oWebAdmin.Get("AnonymousAuthenticationSection")
oAnonAuth.SetAllowDefinition "MachineOnly"

Исходя из моего понимания, я думаю, что вы заинтересованы в установке AllowDefinition в значения [AppHostOnly] или [MachineToApplication].

ссылка: http://msdn.microsoft.com/en-us/library/bb386461(v=vs.90).aspx

примечание: изменения в классе ProcessModelSection вступают в силу только после перезапуска рабочего процесса, а не сразу после изменения параметра.

я использовал следующий код для установки maxAppDomain=1 для текущего веб-приложения "но вы можете изменить его для любого файла.config, указав путь"

System.Configuration.Configuration configuration = WebConfigurationManager.OpenWebConfiguration("");
            System.Web.Configuration.ProcessModelSection processModelSection =
                        (ProcessModelSection)configuration.GetSection("system.web/processModel");
            processModelSection.MaxAppDomains = 1;

надеюсь, это поможет, но я должен был предположить пару вещей, так как требования к вопросу нуждаются в дополнительных разъяснениях.

Вы пытались редактировать файл machine.config напрямую? Каждый раз, когда я сталкиваюсь с проблемами с файлом machine.config, я просто редактировал файл напрямую.

Другие вопросы по тегам