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