Как изменить атрибут раздела allowDefinition с помощью appcmd в IIS 7? - PullRequest
14 голосов
/ 06 апреля 2009

Можно ли использовать appcmd для изменения значения allowDefinition? В частности, я пытаюсь включить изменения в модуле httpCompression на уровне приложения.

Изменение applicationHost.config путем изменения вручную следующей строки:

<section name="httpCompression" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

К

<section name="httpCompression" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />

позволяет мне затем выполнить следующие команды appcmd:

appcmd set config "website name" /section:httpCompression /noCompressionForProxies:false
appcmd set config "website name" /section:httpCompression /noCompressionForHttp10:false

Однако мне нужно решение, которое не требует ручного редактирования приложения. Host.config

Ответы [ 3 ]

5 голосов
/ 15 ноября 2010

Моя проблема заключалась в том, что мне пришлось изменить анонимную аутентификацию с False на True. Когда я сделал: appcmd set config имя веб-сайта / раздел: anonymousAuthentication / enabled: True

Ошибка, которую я получил: Ошибка конфигурации. Эту конфигурацию нельзя использовать по этому пути. Это происходит, когда раздел заблокирован на родительском уровне. Блокировка по умолчанию (overrideModeDefault = "Запретить") ...

Чтобы разблокировать, выполните следующие действия: appcmd unlock config / section:? Будет выведен список нужных вам разделов. Затем введите:

appcmd unlock config /section:system.webserver/security/authentication/anonymousauthentication

Вот так ...:)

2 голосов
/ 01 июля 2009

Попробуйте использовать %windir%\system32\inetsrv\appcmd unlock config -section:*sectionName*. Смотри http://blog.donnfelker.com/2007/03/26/iis-7-this-configuration-section-cannot-be-used-at-this-path/

Я действительно столкнулся с необходимостью сделать это после публикации этого ответа.

%systemroot%\System32\inetsrv\appcmd.exe unlock config /section:system.WebServer/[rest of the path to config section you need to edit]
0 голосов
/ 24 мая 2010

Одно большое предупреждение, вы НИКОГДА не должны изменять allowDefinition, это важный параметр, который обычно присутствует по какой-то причине, например, может случиться так, что даже если вы установите его в определенном каталоге или приложении, он не будет работать, поэтому разработчики указали, что.

Поэтому, пожалуйста, никогда не изменяйте атрибут allowDefinition в определениях раздела. С другой стороны, вы можете изменить overrideModeDefault, что позволит пользователям определять его в другом месте, если это разрешено по определению.

...