2011-06-13 47 views
4

应用程序配置文件中<AppSettings>标记中的<Clear \> XML元素的用途是什么?AppSettings清除app.config中的Xml元素

我看到它删除了以前添加的设置(请参阅下面的代码),但是为什么要这样做?

<appSettings> 
    <add key="LogInformation" value="False"/> 
    <add key="LogAPIMessages" value="False"/> 
    <add key="LogErrors" value="True"/> 
    <clear/> <!--This line removes previously added keys.--> 
</appSettings> 

我也明白,在代码操作应用程序设置时,你可以清除现有的密钥,但为什么有<clear\> XML元素?

另外,出于习惯,真的,我一直把<clear\>元素放在任何<add>元素之前。我是否需要这样做,我不应该这样做吗?

回答

6

这适用于在另一个Web应用程序中有Web应用程序的情况。例如,您可以在您的主应用程序中将博客实施为独立应用程序。然后在这种情况下,“清除”用于删除所有对继承自定义应用程序设置的引用,这些设置是从父应用程序设置继承的。

4

正如您已经想到的那样,这是删除以前定义的条目。这些条目不必与您自己的定义位于同一个文件中。这也可以是从其他配置继承的条目,例如machine.config中。

虽然这对于<appSettings>尤其有些不寻常,但对于其他类似收集的配置元素(如<connectionStrings>),它的作用相同。