首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我阅读appSettings时,我不知从哪里得到了密钥计数器

当我阅读appSettings时,我不知从哪里得到了密钥计数器
EN

Stack Overflow用户
提问于 2015-04-08 11:44:45
回答 2查看 52关注 0票数 0

我有件很奇怪的事。我使用ConfigurationManager打开配置文件,如下所示:

代码语言:javascript
复制
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = path;
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);

一切正常,但当我查看config.AppSettings.Settings.AllKeys时,除了其他键外,我还可以看到配置文件中不存在的名为计数器的键。

在配置文件中:

代码语言:javascript
复制
  <appSettings>
    <add key="test" value="23"/>
  </appSettings>

有什么想法吗?

谢谢你的进阶

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-08 12:10:22

Ar Thomas Levesque指出--你可以从机器上的“父”信任中得到继承的值。有时候你真的不想发生这种事。因此,您可以使用<clear\>元素:

代码语言:javascript
复制
<appSettings>
     <clear/>
     <add key="test" value="23"/>
</appSettings>

这将防止<appSettings>集合的任何自动继承。

票数 1
EN

Stack Overflow用户

发布于 2015-04-08 12:01:28

.NET配置系统使用继承机制。某些设置是在计算机级配置文件(<.NET Framework directory>\machine.config)中定义的,并且每个特定于应用程序的配置文件都可以覆盖机器级设置。在您的示例中,我认为Counter设置是在machine.config文件中定义的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29513677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档