我在一个子项目的web.config中遇到了一个问题,该文件与父级具有相同的连接字符串设置。我们在几个Web应用程序中都有这种情况,但有一种情况是我们希望子级不使用父级的web.config。是否有一个设置或命令可以在子级web.config中忽略父级web.config?
<clear />
清除之前定义的所有连接字符串。<configuration>
<connectionStrings>
<clear/>
<add name="definedInParentButRedefinedHere" etc="..." />
</connectionStrings>
</configuration>
我认为您需要在web.config文件中添加以下内容:
<location inheritInChildApplications="false">
<system.web>
...
</system.web>
</location>
<connectionStrings>
<remove name="DB2"/>
<add name="DB2"
providerName="System.Data.Odbc"
connectionString="Database=DEVDB;Uid={0};Pwd={1};"/>
</connectionStrings>
读取配置值应该是从子级到父级。当您尝试读取配置值时,它将首先查找当前文件夹的web.config,然后是父文件夹的config,最后是机器配置。不确定为什么此默认行为对您无效!您无需执行任何操作即可首先从子级读取,然后从父级读取,因为这是默认设置。