一、app.config
這種方式最簡(jiǎn)單直接從app.config里面讀取辩棒,調(diào)用內(nèi)置API接口
ConfigurationManager.AppSettings["demo"];
ConfigurationManager.ConnectionStrings["DbServer"].ConnectionString;
此時(shí)app.config內(nèi)的配置文件
<appSettings>
<add key="demo" value="123"/>
</appSettings>
<connectionStrings>
<add key="DbServer" connectionString="server=127.0.0.1;root={username};pwd={password}"/>
</connectionStrings>
獲取最新配置文件
ConfigurationManager.RefreshSection("appSettings");
ConfigurationManager.AppSettings["demo"]
將內(nèi)存數(shù)據(jù)更新至配置文件
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["demo"].Value = "456";
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
二薪丁、自己建立app.config的Section
繼承ConfigurationSection
public class SectionDemo:ConfigurationSection{
[ConfigurationProperty(“demo”,IsRequired=true)]
public Demo demo{
get{
return this["demo"] as Demo;
}
}
}
Demo類繼承ConfigurationElement
public class Demo:ConfigurationElement{
[ConfigurationProperty("value",IsRequired = true)]
public string Value{
get{
return this["value"] as string;
}
}
}
首先产上,得在app.config中聲明配置
<configSections>
<section name="demoSettings" type="{SectionDemo所在的namespace},{解決方案名稱}">
</configSections>
<demoSettings>
<demo value="200"></demo>
</demoSettings>
tpye配置參見:app.config加載文件及程序集
三假颇、從Xml讀取
1.反序化基礎(chǔ)類
public static object DeserializeFromXml(string xmlFilePath,Type type){
obejct result = null;
if(File.Exists(xmlFilePath)){
using(StreamReader reader = new StreamReader(xmlFilePath))
{
XmlSerializer xs = new XmlSerializer(type);
result = xs.Deserialize(reader);
}
}
}
2.實(shí)體
[XmlRoot(ElementName = "ConfigDemo")]
public class ConfigDemo{
[XmlElement(ElementName = "Demo")]
public string DemoInnerText{
set;get;
}
}
3.Xml配置文件
<ConfigDemo>
<Demo>123456</Demo>
</ConfigDemo>
4.調(diào)用
ConfigDemo configDemo = XmlUnit.DeserializeFromXml("{xml文件地址}",typeof(ConfigDemo) as ConfigDemo);
總結(jié):
當(dāng)一個(gè)解決方案集成過多的服務(wù)時(shí),避免不了需要多項(xiàng)配置澡匪,合理的設(shè)計(jì)配置文件有助于我們管理和維護(hù)代碼熔任,這方面是我需要思考的問題
待解決問題:
1.如果配置一個(gè)多服務(wù)解決方案的服務(wù)啟動(dòng)或關(guān)閉問題
其他涉獵:
1.Xml基礎(chǔ)
2.set褒链、get
3.ConfigSection
4.Xml文件緩存機(jī)制
5.Xml緩存不同步文件
6.讀寫Xml唁情,了解c#讀寫