代码之家  ›  专栏  ›  技术社区  ›  jpoh

自定义app.config

  •  2
  • jpoh  · 技术社区  · 15 年前

    我想能延长 ConfigurationManager 所以我有一个app.config,如下所示:

    <configuration>
    
    <databases>
        <add name="db1" server="someServer" dbName="superDB" userName="" password=""/>
        <add name="db2" server="anotherServer" dbName="ordinaryDB" userName="dba" password="dba"/>
    </databases>
    
    </configuration>
    

    然后可以通过 配置管理器 像这样

    string dbName = ConfigurationManager.Databases["db1"].DBName;
    

    我看了一下定制选项( here 例如)但它并没有真正给我我想要达到的目标。这是可能的吗?

    (我意识到我可以通过滚动自己的配置管理器来实现这一点,但如果可能的话,我真的更愿意扩展.NET框架当前提供的功能)

    3 回复  |  直到 15 年前
        1
  •  2
  •   Eric Schoonover thSoft    15 年前

    看起来你应该用 ConfigurationManager.ConnectionStrings 属性。

    如果确实要扩展app.config以包含自己的配置节,则可以创建一个派生自 ConfigurationSection 班级。有一个很好的例子 here .

    你在问题中表达了什么…能够做一些像 ConfigurationManager.Databases 如果数据库是ConfigurationManager类的自定义静态属性,则不可能。

        2
  •  2
  •   Norbert B. MJB    15 年前

    您没有创建自定义配置管理器。您可以通过创建一个自定义配置节,在配置文件中注册它来完成这项工作。

    希望这有帮助…

    ps good tutorial@codeproject.com: http://www.codeproject.com/KB/dotnet/mysteriesofconfiguration.aspx

        3
  •  1
  •   Peyman Mehrabani    13 年前

    你可以使用 ConfigSection ,这类可以将自定义配置属性添加到配置文件中。

    有一个非常有用的Visual Studio加载项 (配置节设计器) 它允许您以图形方式设计.NET配置节,并自动为它们生成所有必需的代码和架构定义(XSD)。

    有关安装和使用说明,请参阅 here