14

是否可以使用 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

但是我需要一个不依赖于手动编辑 applicationHost.config 的解决方案

4

3 回答 3

6

我的问题是,我必须将 anonymousAuthentication 从 False 更改为 True。当我这样做时: appcmd set config websitename /section:anonymousAuthentication /enabled:True

我得到的错误:配置错误此配置不能用于此路径。当该部分在父级锁定时会发生这种情况。锁定是默认情况下(overrideModeDefault="Deny")...

要解锁,请执行以下操作: appcmd unlock config /section:? 这将列出您想要的部分。然后输入:

appcmd 解锁配置 /section:system.webserver/security/authentication/anonymousauthentication

而已... :)

于 2010-11-15T14:42:10.410 回答
2

尝试使用%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]
于 2009-07-01T15:13:50.397 回答
0

一个大警告,你不应该改变allowDefinition,这是一个重要的设置,通常是有原因的,例如,即使你将它设置在特定的目录或应用程序中它也可能不起作用,所以开发人员有指定。

所以请不要修改节定义中的 allowDefinition 属性。另一方面,您可以修改 overrideModeDefault 这将允许用户在定义允许的情况下在不同的位置定义它。

于 2010-05-24T04:15:50.617 回答