你根本无法<location path="." inheritInChildApplications="false">在你的web.config的某些部分使用它,以告诉它忽略某些部分的继承(你会得到错误,例如'inheritInChildApplications属性未被声明',所以如果你尝试把它放在它的部分,那么第四不支持).
例如,您不能在之前或之内使用它<configSections>.例如,您可以将<system.web>标记包装在位置标记中,但我需要停止继承任何内容,<configSections>并且我没有看到这样做的方法.
我的子应用程序继承了我父应用程序的Web配置在树中的IIS 7中具有的一些相同的配置设置.我认为无法<clear/>在configSecion标记中放置任何一个,因为如果您尝试将其添加到无效标记中,则它是无效标记.
你怎么告诉它忽略那一节?
我在我的网站的根目录中有一个内容管理应用程序,我正在尝试在子文件夹下使用不同的应用程序(计费应用程序).不幸的是,根网站的web.config干扰了子应用程序.
有没有办法只禁用子文件夹的web.config继承?
更新:
由Stephen Burris链接,使用<location>标记可以阻止部分Web配置的继承,如下所示:
<?xml version="1.0"?>
<configuration>
<configSections>
....
</configSections>
<location path="." inheritInChildApplications="false">
<appSettings>
....
</appSettings>
<connectionStrings/>
<system.web>
....
</system.web>
<system.codedom>
....
</system.codedom>
<system.webServer>
....
</system.webServer>
</location>
<runtime>
....
</runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在<configSections>与<runtime>部分将不接受被封装在标签...所以我想这不仅会大部分的工作.谁知道怎么做得更好?
我目前在IIS7中有2个ASP.NET 3.5 Web应用程序(我们称之为WebParent和WebChild).
WebChild嵌套在IIS7中的WebParent列表中,并设置为应用程序(而不仅仅是WebParent中的虚拟目录).两者目前都使用自己的(Classic)应用程序池.
WebParent和WebChild都在自己的根目录中拥有自己完全定义的web.config文件.
我假设看到WebChild被定义为IIS中的"应用程序",它不会从WebParent配置文件继承任何内容.但是,尽管有这样的配置,我看到web.config中的各种元素的错误已经被定义(这是正确的,两个配置文件中都有一些项目,但我认为它们应该完全独立于一个另一个)?
任何人都可以澄清为什么会发生这种情况?
我在我的父Web应用程序配置文件中有以下内容
<configuration>
<configSections>
<sectionGroup name="testmodule">
<section name="testmodule" type="RewriteModule.RewriteModuleSectionHandler, RewriteModule"/>
</sectionGroup>
</configSections>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我想防止子子文件夹继承此配置部分应放在哪里
<location path="." inheritInChildApplications="false">,因为配置部分应该是配置文件的第一个子元素