1.添加應用程序配置文件
右鍵點擊項目,選擇“添加”→“添加新建項”→“添加應用程序配置文件”將其添加到項目中。
2.設置配置文件
<?xmlversion="1.0"encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="connStr" connectionString="This is ConnectionString"/>
</connectionStrings>
<appSettings>
<add key="key1" value="This is Key"/>
</appSettings>
</configuration>
3.讀取配置文件(項目中必須添加system.configuration引用:右擊項目-添加引用-選擇.net中system.configuration)
public string ReadConfig()
{
ConfigurationManager.RefreshSection("connectionStrings"); //讀取之前強制刷新節點清除緩存
ConfigurationManager.RefreshSection("appSettings"); //讀取之前強制刷新節點清除緩存
string connStr= ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
string keyVal=ConfigurationManager.AppSettings["key1"].ToString();
return string.Format("connStr:{0} keyVal:{1}",connStr,keyVal);
}
4.動態設置配置文件
public void SettingConfig(string name,string value)
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);//當前應用程序的配置文件
ConnectionStringSettings conn = config.ConnectionStrings.ConnectionStrings["connStr"];
if (conn!=null)
{
config.ConnectionStrings.ConnectionStrings.Remove("connStr"); //移除節點
}
config.ConnectionStrings.ConnectionStrings.Add(new ConnectionStringSettings(name,value)); //添加新的節點
AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings");
//刪除name,然后添加新值
appSettings.Settings.Remove("key1");
appSettings.Settings.Add(name, value);
config.Save(); //保存配置文件
}
其它獲取配置文件方法
1.調用到xxx.vshost.exe.config
string ass = Assembly.GetEntryAssembly().Location;
Configuration config = ConfigurationManager.OpenExeConfiguration(ass);
2.隨應用程序域決定使用哪種配置文件
string path = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;
Configuration config = ConfigurationManager.OpenExeConfiguration(path);
3.同上
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);