본문 바로가기

# IT, Computer Science/C#

App.Config XML파일을 읽고 쓰는 간단한 함수

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

App.Config XML파일을 읽고 쓰는 간단한 함수를 하나 만들어 봤습니다..

더 좋은 정보 있으면 리플 달아 주세요

 

 

private string AppConfigRead(string keyName)

        {

            string strReturn;

            Configuration currentConfig =

                ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

 

            if (currentConfig.AppSettings.Settings.AllKeys.Contains(keyName))

                strReturn = currentConfig.AppSettings.Settings[keyName].Value;

            else

                strReturn = ""//키가없으면.

 

            return strReturn;

        }

 

        private bool AppConfigWrite(string keyName, string value)

        {

            Configuration currentConfig =

                ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

 

            if (currentConfig.AppSettings.Settings.AllKeys.Contains(keyName)) //키가 있으면

                currentConfig.AppSettings.Settings[keyName].Value = value;

            else       //키가 없으면

                currentConfig.AppSettings.Settings.Add(keyName, value);

           

            currentConfig.Save();

            ConfigurationManager.RefreshSection("appSettings");   // 내용 갱신             

            return true;

        }


출처 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=18&MAEULNo=8&no=1699&ref=1699



우선 위 함수를 사용하려면 참조 추가와 namespace 추가가 필요합니다.
1) System.configuration <- 참조 추가
2) using System.Configuration; <- 추가

그렇게 하고도.. 위의 소스에서 Contains 라는걸 찾을 수 없어서 제맘대로 수정했습니다.
정석인진 모르겠지만..돌아가니 참고하실분은 하세요.


        public static string AppConfigRead(string keyName)
        {
            string strReturn = "";
            Configuration currentConfig =
                ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            bool bIsKey = false;

            foreach (string key in currentConfig.AppSettings.Settings.AllKeys)
            {
                if (key.StartsWith(keyName))
                {
                    strReturn = currentConfig.AppSettings.Settings[keyName].Value;
                    bIsKey = true;
                    break;
                }
            }

            if(bIsKey == false)
                return string.Empty;
            
            return strReturn;
        }


        public static bool AppConfigWrite(string keyName, string value)
        {
            Configuration currentConfig =
                ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            if (currentConfig.AppSettings.Settings.Count != 0)
            {
                bool bIsKey = false;
                foreach (string key in currentConfig.AppSettings.Settings.AllKeys)
                {
                    if (key.StartsWith(keyName))
                    {
                        currentConfig.AppSettings.Settings[keyName].Value = value;
                        bIsKey = true;
                        break;
                    }
                }

                if ( bIsKey == false )       //키가 없으면
                {
                    currentConfig.AppSettings.Settings.Add(keyName, value);
                }
            }
            else
            {
                currentConfig.AppSettings.Settings.Add(keyName, value);
            }

            currentConfig.Save();
            ConfigurationManager.RefreshSection("appSettings");   // 내용 갱신             

            return true;
        }



출처 : http://blueasa.tistory.com/290

'# IT, Computer Science > C#' 카테고리의 다른 글

C# WebRequest 로그인 쿠키저장  (2) 2012.07.14
App.config  (0) 2012.01.30