您将始终将绑定提交给MACHINE/WEBROOT/APPHOST
.
你应该去看看架构文件:
%systemroot%\System32\inetsrv\config\schema
它们将帮助您确定设置的归属。
更新:
根据您的评论:
例如,AccessSSLFlags 将映射到 ConfigurationSection.AccessSection.SslFlags - 在这种情况下我将提交哪个部分?我怎么知道我需要提交哪个部分?
这一切都取决于。IIS7 支持一种称为Feature Delegation的机制。如果委托了一项功能,则这意味着用户可以在其本地配置该功能web.config
。一些功能在下面配置system.webServer
,其他system.web
的。
用户可以和不能在他/她本地配置的web.config
内容由两个文件中的条目控制:
%systemrooot%\system32\inetsrv\config\administration.config
%systemrooot%\system32\inetsrv\config\applicationHost.config
如果您去查看 IIS7 配置架构:
%systemroot%\System32\inetsrv\config\schema\IIS_schema.xml
您会发现有两种主要类型的部分:
system.applicationHost/xxxx
system.webServer/xxxx
任何可配置的system.applicationHost
内容通常不被视为用户可修改的配置项。事实上,如果你打开applicationHost.config
你会看到:
<sectionGroup name="system.applicationHost">
<section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="serviceAutoStartProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
<section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
</sectionGroup>
注意allowDefinition="AppHostOnly"
? 这基本上是在告诉您这些设置无法在web.config
.
功能委托的工作范围太广,无法在答案中涵盖,因此我建议您阅读上面链接的文章。