프로그래밍

C# AppConfig 키 설정 및 Value Get/Set 소스

준이바라기얍 2021. 8. 9. 15:29
반응형

프로그램 내에 필요한 설정 저장을 위해 DB나 문서파일을 활용하는 경우가 있습니다.

 

하지만, 굳이 간단하고 내용이 작은 설정이라면 DB를 사용할 필요가 없습니다.

 

또한 따로 문서파일에 저장하고 읽을 필요도 없구요.

 

VS에서 C# 프로젝트 생성 시 상기의 역할을 수행할 수 있는 AppConfig 라는 녀석이 준비되어 있습니다.

 

소스는 하기와 같습니다. 

 

간단하니 따로 설명은 불필요 할 듯 합니다.

 

class clsAppConfig
    {
        public static string GetAppConfig(string key) 
        { 
            return ConfigurationManager.AppSettings[key]; 
        } 
        
        public static void SetAppConfig(string key, string value) 
        {
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
            KeyValueConfigurationCollection cfgCollection = config.AppSettings.Settings; cfgCollection.Remove(key); 
            cfgCollection.Add(key, value); config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name);
        } 
        
        public static void AddAppConfig(string key, string value) 
        { 
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
            KeyValueConfigurationCollection cfgCollection = config.AppSettings.Settings; cfgCollection.Add(key, value); 
            config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name);
        }
        
        public static void RemoveAppConfig(string key) 
        {
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
            KeyValueConfigurationCollection cfgCollection = config.AppSettings.Settings; 
            try
            {
                cfgCollection.Remove(key); 
                config.Save(ConfigurationSaveMode.Modified);
                ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name);
            } 
            catch
            { } 
        }

    }

 

반응형