使用ConfigurationManager从app.config读取设置

时间:2013-01-25 20:31:24

标签: c# settings config

我创建了一个设置类,其中添加了一些参数,这些参数显示在下面的app.config中。

我想访问班级中的connectionStringsusersettings,但我的尝试都没有成功。

我试过例如:

ConfigurationManager.ConnectionStrings['Alerter.AlerterSettings.ConnectionString']

但它不起作用。

以下是app.config

<connectionStrings>
    <add name="Alerter.AlerterSettings.ConnectionString"     connectionString="DefaultEndpointsProtocol=https;sometext" />
</connectionStrings>
<userSettings>
    <Alerter.AlerterSettings>
        <setting name="TableName" serializeAs="String">
            <value>table5</value>
        </setting>
        <setting name="EmailUser" serializeAs="String">
            <value>user</value>
        </setting>
        <setting name="EmailPass" serializeAs="String">
            <value>pass</value>
        </setting>
    </Alerter.AlerterSettings>
</userSettings>

1 个答案:

答案 0 :(得分:3)

不要使用' - 它是C#中的字符分隔符,而不是字符串分隔符:

ConfigurationManager.ConnectionStrings["Alerter.AlerterSettings.ConnectionString"]

您还需要访问返回值的ConnectionString属性:

string theConnectionString = 
            ConfigurationManager.ConnectionStrings["whatever"].ConnectionString;

关于命名的注意事项:

Alerter.AlerterSettings.ConnectionString相当冗长 - 在我看来它并不是非常易读,配置选项不需要这样 - 特别是在connectionStrings部分。 AlerterSettings对我来说更合适。