Назад | Перейти на главную страницу

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 определение раздела. Может ли кто-нибудь указать мне здесь правильное направление?

Спасибо

с помощью поставщика 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, я просто редактировал файл напрямую.