gpt4 book ai didi

IIS 7 配置路径

转载 作者:行者123 更新时间:2023-12-05 04:18:59 24 4
gpt4 key购买 nike

我正在尝试使我的 c++ ahadmin 应用程序与 IIS 7 兼容。我的应用程序需要读取网站配置(通过 IIS 6 中的元数据库属性)。

我阅读了很多关于配置路径的文章,我认为我对它的工作原理有一个很好的了解 - 但是我不确定一件事:

要进行配置,我可以提交 MACHINE/WEBROOT/APPHOST/路径或 MACHINE/WEBROOT/APPHOST/Default 网站。

我理解后者指的是具体网站实际的web.config,前者指的是一般的applicationHost.config文件,里面一般设置被设置。

但是我的应用不知道 web.config 文件是否存在。

我的问题:如果我想进入这条路径 - Object.ConfiguredObject.Site.Bindings,我需要提交 APPHOST 路径还是 APPHOST/Default Web Site 路径?

我如何在运行时知道这一点?

最佳答案

您将始终将绑定(bind)提交到 MACHINE/WEBROOT/APPHOST

你应该去看看架构文件:

%systemroot%\System32\inetsrv\config\schema

它们将帮助您确定设置的所属位置。

更新:

根据您的评论:

So for example, AccessSSLFlags would be mapped to ConfigurationSection.AccessSection.SslFlags - what section will I commit in that case? How do I know which section I need to commit?

这一切都取决于。 IIS7支持一种称为Feature Delegation的机制.如果委托(delegate)了一项功能,则意味着用户可以在其本地 web.config 中配置该功能。一些功能在 system.webServer 下配置,其他功能在 system.web 下配置。

用户可以和不能在他/她的 web.config 中本地配置的内容由两个文件中的条目控制:

%systemroot%\system32\inetsrv\config\administration.config
%systemroot%\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 中配置这些设置。

功能委托(delegate)的工作方式范围太广,无法在答案中涵盖,因此我建议您阅读上面链接的文章。

关于IIS 7 配置路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4777862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com