【发布时间】:2016-12-08 08:13:37
【问题描述】:
我正在编写一个需要来自 app.config 的信息的 Windows 服务 - 我知道我可以使用 AppSettings,但我正在尝试更好地理解配置部分。
我已经修改了我的 App.Config:
<configuration>
<startup>
<supportedRuntime sku=".NETFramework,Version=v4.0"
version="v4.0"/>
</startup>
<configSections>
<section name="config"
type="MyNamespace.MyConfigurationSection"/>
</configSections>
<config aNumber="1"
aBoolean="false"/>
</configuration>
并创建了以下类:
public sealed class MyConfigurationSection : ConfigurationSection
{
[ConfigurationProperty("aNumber", DefaultValue = 1, IsRequired = false)]
public int Number
{
get { return (int) this["aNumber"]; }
set { this["aNumber"] = value; }
}
[ConfigurationProperty("aBoolean", DefaultValue = false, IsRequired = false)]
public bool Boolean
{
get { return (bool) this["aBoolean"]; }
set { this["aBoolean"] = value; }
}
}
我正在尝试像这样访问它:
public MyConfigurationSection ConfigSection
{
get
{
var configurationSection = Configuration.GetSection("config");
return (MyConfigurationSection) configurationSection;
}
}
private static Configuration Configuration
{
get { return ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); }
}
在我到达(MyConfigurationSection) configurationSection 演员表之前一切正常。我从给GetSection() 的电话中收到了DefaultSection,但演员表失败了。
我误入歧途了?
【问题讨论】:
-
你想不出比“config”更好的配置部分的名称
-
这是一个模型。我也没有真正使用“aBoolean”和“aNumber”。
标签: c# service config app-config