有没有一个命令或设置可以使子级web.config忽略父级web.config?

3

我在一个子项目的web.config中遇到了一个问题,该文件与父级具有相同的连接字符串设置。我们在几个Web应用程序中都有这种情况,但有一种情况是我们希望子级不使用父级的web.config。是否有一个设置或命令可以在子级web.config中忽略父级web.config?

4个回答

4
如果我理解您的问题正确,您也可以在子Web.config中使用<clear />清除之前定义的所有连接字符串。
<configuration>
  <connectionStrings>
    <clear/>
    <add name="definedInParentButRedefinedHere" etc="..." />
  </connectionStrings>
</configuration>

<clear/> 在我们的应用程序中完美地工作了,感谢您的帮助。 - RJ.

3

我认为您需要在web.config文件中添加以下内容:

<location inheritInChildApplications="false">
<system.web>
...
</system.web>
</location>

2
如果您只是遇到了连接字符串的问题,并且希望保留父级的其余部分,请尝试以下方法:
<connectionStrings>
    <remove name="DB2"/>
    <add name="DB2"
         providerName="System.Data.Odbc"
         connectionString="Database=DEVDB;Uid={0};Pwd={1};"/>
</connectionStrings>

0

读取配置值应该是从子级到父级。当您尝试读取配置值时,它将首先查找当前文件夹的web.config,然后是父文件夹的config,最后是机器配置。不确定为什么此默认行为对您无效!您无需执行任何操作即可首先从子级读取,然后从父级读取,因为这是默认设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接