从app.config读取值

时间:2012-10-16 15:59:15

标签: c# app-config

我有一个存储在.config文件中的连接字符串,我不知道如何阅读。
我一直在搜索,我发现大多数是关于如何读取存储在AppSetting中的键/值对。但是这个文件的组织方式不同。我只需要获取ConnectionString的值 注意:我无法修改.config文件。它是给我的。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="Assessment.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <userSettings>
        <Assessment.Properties.Settings>
            <setting name="ConnectionString" serializeAs="String"> //This value I need
                <value>Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[%CURRENT%]\DB.mdb</value>
            </setting>
        </Assessment.Properties.Settings>
    </userSettings>
</configuration>

5 个答案:

答案 0 :(得分:6)

项目命名空间中将有Settings类(Assessment.Properties.Settings)

该类是自动生成的。

要访问您的连接字符串,只需使用

Assessment.Properties.Settings.Default.ConnectionString

答案 1 :(得分:5)

使用ConfigurationManager.ConnectionStrings属性从应用程序配置文件中检索连接字符串。

您应该将连接字符串存储在配置文件的connectionStrings部分中。

答案 2 :(得分:1)

connectionString = ConfigurationManager.AppSettings["ConnectionString"];

并在您的配置中

<appSettings> <add key="ConnectionString" value="whatever" /> </appSettings>

答案 3 :(得分:0)

不看自定义配置部分处理程序,我只能猜测:

在您的代码中尝试此操作:

   var connString = System.Configuration.ConfigurationManager.GetSection
                    ("Assessment.Properties.Settings")["ConnectionString"];

但更好的是切换到使用Microsoft内置ConnectionString部分
     System.Configuration.ConnectionStringSettings

答案 4 :(得分:0)

您可以访问“userSettings”部分,如:

var userSection = (ConfigurationSection)ConfigurationManager.GetSection("userSettings");