使用ExeConfigurationFileMap读写配置文件
using
System;
using System.IO;
using System.Configuration;
public class AppConfig
{
public string LastLoginId
{
get { return this .GetItem( " LastLoginId " ); }
set { this .SetItem( " LastLoginId " , value); }
}
private Configuration config;
public AppConfig()
{
ExeConfigurationFileMap configMap = new ExeConfigurationFileMap();
configMap.ExeConfigFilename = this .CreateConfig();
this .config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
}
private string CreateConfig()
{
try
{
string configFile = AppDomain.CurrentDomain.BaseDirectory + @" app.config " ;
if ( ! File.Exists(configFile))
{
string xml = " <?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n<configuration>\r\n</configuration> " ;
using (StreamWriter sw = new StreamWriter(configFile))
{
sw.Write(xml);
}
}
return configFile;
}
catch (Exception ex)
{
string msg = ex.Message;
throw ;
}
}
private string GetItem( string item)
{
if ( this .config.AppSettings.Settings[item] == null )
{
return string .Empty;
}
else
{
return this .config.AppSettings.Settings[item].Value;
}
}
private void SetItem( string item, string value)
{
if ( this .config.AppSettings.Settings[item] == null )
{
this .config.AppSettings.Settings.Add(item, value);
}
else
{
this .config.AppSettings.Settings[item].Value = value;
}
this .Save();
}
private void Save()
{
try
{
this .config.Save(ConfigurationSaveMode.Modified);
}
catch (Exception ex)
{
string msg = ex.Message;
throw;
}
}
}
using System.IO;
using System.Configuration;
public class AppConfig
{
public string LastLoginId
{
get { return this .GetItem( " LastLoginId " ); }
set { this .SetItem( " LastLoginId " , value); }
}
private Configuration config;
public AppConfig()
{
ExeConfigurationFileMap configMap = new ExeConfigurationFileMap();
configMap.ExeConfigFilename = this .CreateConfig();
this .config = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None);
}
private string CreateConfig()
{
try
{
string configFile = AppDomain.CurrentDomain.BaseDirectory + @" app.config " ;
if ( ! File.Exists(configFile))
{
string xml = " <?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n<configuration>\r\n</configuration> " ;
using (StreamWriter sw = new StreamWriter(configFile))
{
sw.Write(xml);
}
}
return configFile;
}
catch (Exception ex)
{
string msg = ex.Message;
throw ;
}
}
private string GetItem( string item)
{
if ( this .config.AppSettings.Settings[item] == null )
{
return string .Empty;
}
else
{
return this .config.AppSettings.Settings[item].Value;
}
}
private void SetItem( string item, string value)
{
if ( this .config.AppSettings.Settings[item] == null )
{
this .config.AppSettings.Settings.Add(item, value);
}
else
{
this .config.AppSettings.Settings[item].Value = value;
}
this .Save();
}
private void Save()
{
try
{
this .config.Save(ConfigurationSaveMode.Modified);
}
catch (Exception ex)
{
string msg = ex.Message;
throw;
}
}
}