避免.NET app.config文件中的configSections

时间:2010-04-07 17:18:01

标签: .net configuration-files

我正在寻找一种方法来避免在App.config文件中的configSections中声明我的配置部分。基本上,我想像我对内置.NET系统那样指定配置信息。例如,在配置WCF时,我只是将东西放在< system.serviceModel>中,我不必在configSections中声明一个部分。同样适用于< system.diagnostics>和许多其他名称空间。

我知道我可以将它作为XML文件加载并解析它,但我更愿意坚持使用该模式。此外,使用Reflector查看WCF配置,我注意到它使用相同的配置子系统(在System.Configuration中定义)。

如果您想知道为什么这很重要,那是因为它让我们的IT人员感到困惑。如果它是自包含在一个地方,它会更容易。我也意识到我将失去多个相同部分类型的能力,但在我们的情况下这并不重要。

3 个答案:

答案 0 :(得分:3)

我不明白 - 你需要在使用它之前声明一些东西 - 即使标准的.NET配置部分都在某处声明 - 只是不在你自己的app.config中。

你不能“智取”.NET配置系统;如果你想以标准的.NET方式使用配置(我强烈建议 - 它是一种已知的技术,它经过良好的测试和测试),那么你需要定义配置部分并使用.NET配置系统注册它们 - 别无选择。

避免将这些部分添加到应用程序自己的app.config文件中的唯一选择是将它们放入machine.config(隐藏在系统内部 - 通常位于C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG目录中) - 查看顶部的配置部分注册!

但坦率地说:使用你的软件在每台机器上更新这些系统配置文件似乎比在app.config中定义了一些配置部分更麻烦!

答案 1 :(得分:0)

出于这个原因,您可以使用AppSettings元素。

答案 2 :(得分:0)

真的?让您的IT人员感到困惑?好的,我会拒绝评论......

也许您可以将配置信息放在一个完全不同的文件中,但您必须重新发明轮子。

http://www.codeproject.com/KB/files/anyconfig.aspx