如何从代码后面的app.config中读取自定义部分?

时间:2011-12-29 07:33:53

标签: wpf vb.net app-config

我有一个app.config文件,可以将值存储在几个不同的部分中。我有这些片段:

<configuration>
  <configSections>
    <sectionGroup name="someDataAccessLayer">
        <section name="databaseConnectionStrings" type="sometype" />
    </sectionGroup>
  </configSections>
  <someDataAccessLayer>
     <databaseConnectionStrings>
        <databaseConnectionString name="someSQL"           
             value="database=somedatabase;Integrated Security=False;User Id=sa;server=someserver;Password=somepassword/>
     </databaseConnectionStrings>
  </someDataAccessLayer>

如何读取代码隐藏中的连接字符串?特别是value

database=somedatabase;Integrated Security=False;User Id=sa;server=someserver;Password=somepassword

感谢您的帮助!如果问题仍然不清楚,请告诉我。

2 个答案:

答案 0 :(得分:1)

您的配置部分将与某些.NET类关联以处理它:

  <configSections>
    <sectionGroup name="someDataAccessLayer">
       <section name="databaseConnectionStrings" type="sometype" />
    </sectionGroup>
  </configSections>

因此,要阅读<localeSettings>部分中的设置,您需要使用ConfigurationManager(在项目中添加System.Configuration的引用)将这些设置转换为该项的实例类:

sometype cs = ConfigurationManager.GetSection("someDataAccessLayer/databaseConnectionStrings") as     sometype;

现在您有一个sometype类型的对象,其中包含该配置部分中的所有设置。其中一个属性是数据库连接字符串列表,您现在可以枚举它们并找到合适的连接字符串并读取它的.Value属性。

答案 1 :(得分:0)

App.Config设置:

<configuration>
        <configSections>
        </configSections>
        <connectionStrings>
            <add name="MyApp.LocalConnectionString"
                connectionString="Data Source= .\SQLEXPRESS;Initial Catalog=DBName;Integrated Security = true"
                providerName="System.Data.SqlClient" />

使用ConfigurationManager作为:

访问DataLayer
// add reference 
using  System.Configuration;
// then access connection string in your class
 private static string strConnectionString = ConfigurationManager.ConnectionStrings["MyApp.LocalConnectionString"].ConnectionString;