Asp.net 是否禁用web.config继承?
我的网站根目录中有一个内容管理应用程序,我正试图在子文件夹下使用另一个应用程序(计费应用程序)。不幸的是,根站点的web.config正在干扰子应用程序 有没有办法只禁用子文件夹的web.config继承 更新: 如所链接的,使用Asp.net 是否禁用web.config继承?,asp.net,Asp.net,我的网站根目录中有一个内容管理应用程序,我正试图在子文件夹下使用另一个应用程序(计费应用程序)。不幸的是,根站点的web.config正在干扰子应用程序 有没有办法只禁用子文件夹的web.config继承 更新: 如所链接的,使用标记可以阻止部分web配置的继承,如下所示: <?xml version="1.0"?> <configuration> <configSections> .... </configSections> <lo
标记可以阻止部分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>
....
....
....
....
....
....
和
部分将不接受包含在标记中…因此我猜这只完成了大部分工作。有人知道如何做得更好吗?我会明确定义所有所需的设置-永远不要假设任何设置仍然设置为默认值
例如,如果要定义连接字符串,请在成员身份的
之前包含
标记。请定义所有属性,包括cookie名称。等等
它可能会使文件变大一点,但肯定会帮助您避免“但它在我的盒子上工作”的情况:-)根web.config文件中有一个属性,您可以使用该属性使其内容不会被子应用程序继承 继承HildApplication 将配置中不用于继承的部分放入
<location inheritInChildApplications="false">
<NotInheritedConfigPart/>
</location>
配置部分似乎不可能不被继承,但配置的其他部分可以像这样被“注释”掉,而不会被继承。在我看来,每次我努力解决这个问题时,答案实际上都是否定的——我将把这个留给我未来的自己去发现,这样他就不会再浪费时间了
我发现,当您只想在现有站点中添加虚拟目录时,这是一个巨大的问题。对于一个复杂的web.config文件,我总是放弃并将其移动到另一个应用程序中。如果可以使用两个单独的应用程序池,则可以使用attibute
enableConfigurationOverride=“false”完全停止继承
在applicationHost.config文件中,如我在本问题中所述:
这并不是我所期望的好答案,但也许这是最不坏的选择……这种方法存在问题。您可以在<add name="MyAppPool" enableConfigurationOverride="false" autoStart="true" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" >
<processModel identityType="NetworkService" />
</add>