将其封装成类,供以后使用。
命名空间:
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
类:
public class Config
{
public Configuration configObject;
/// <summary>
/// 根据路径获取配置文件
/// </summary>
/// <param name="key">键值</param>
/// <returns></returns>
public Config(string configPath)
{
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = configPath;
this.configObject = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
}
public string GetConfig(string key)
{
string val = string.Empty;
if (this.configObject.AppSettings.Settings.AllKeys.Contains(key))
val = this.configObject.AppSettings.Settings[key].Value;
return val;
}
/// <summary>
/// 获取所有配置文件
/// </summary>
/// <returns></returns>
public Dictionary<string, string> GetConfig()
{
Dictionary<string, string> dict = new Dictionary<string, string>();
foreach (string key in this.configObject.AppSettings.Settings.AllKeys)
dict.Add(key, this.configObject.AppSettings.Settings[key].Value);
return dict;
}
/// <summary>
/// 根据键值获取配置文件
/// </summary>
/// <param name="key">键值</param>
/// <param name="defaultValue">默认值</param>
/// <returns></returns>
public string GetConfig(string key, string defaultValue)
{
string val = defaultValue;
if (this.configObject.AppSettings.Settings.AllKeys.Contains(key))
val = this.configObject.AppSettings.Settings[key].Value;
if (val == null)
val = defaultValue;
return val;
}
/// <summary>
/// 写配置文件,如果节点不存在则自动创建
/// </summary>
/// <param name="key">键值</param>