zoukankan      html  css  js  c++  java
  • 使用ExeConfigurationFileMap读写配置文件

    使用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;
            }
        }
    }

     

  • 相关阅读:
    教你在Linux用飞信(fetion)免费发短信
    date 和 hwclock 命令 (RTC用的着)
    同学会催生“恐聚族” 攀比成风成为炫耀展示会
    35款基于terminal的Linux应用
    探访山东各地旱情 田里麦苗用手一搓成粉末
    多城市近期将出台楼市限购细则 全面限购第三套
    Linux下刻录光盘—cdrecord
    RHEL 6教程:使用本地光盘做yum源
    RHEL6 root登陆问题
    初学者学习LINUX之困惑?方向迷失?GUI?
  • 原文地址:https://www.cnblogs.com/anjou/p/2068504.html
Copyright © 2011-2022 走看看