웹사이트가 로드되면 Web.config의 appSetting정보가 메모리 상으로 올라가게 되고 그 값을 읽고 올라간 정보를 변경 할 수도 있다.

1. appSetting값 읽기

string value = System.Web.Configuration.WebConfigurationManager.AppSettings.Get("appValue");

또는

string value = System.Web.Configuration.WebConfigurationManager.AppSettings["appValue"];

2. appSetting값 변경

System.Web.Configuration.WebConfigurationManager.AppSettings.Set("appValue", "test");

위와 같이 하면 XML파일의 값은 변경되지 않지만

현재 appValue로 읽어오는 appSetting값은 웹사이트가 다시 시작하지 않는 이상 계속 test라는 값을 읽어온다.

3. 간단하게 appSetting.xml파일 변경하기

 

string key = "appValue";

string value = "test2"; 

DataSet ds = new DataSet();

ds.ReadXml("D:\\AppSettings.xml");

if (dsRs.Tables.Count > 0) {

DataTable dt = ds.Tables[0];

if (dt.Rows.Count > 0) {

for (int r = 0; r < dt.Rows.Count; w++) {

//그냥 찍어보는 for문 ㅋㅋ

for (int c = 0; c < dt.Columns.Count; i++) {

Response.Write(r + "/" + i + " : " + dt.Rows[r][c].ToString() + "<br />");

}

if (dt.Rows[r][0].ToString() == key) {

dt.Rows[r][c] = value;

System.Web.Configuration.WebConfigurationManager.AppSettings.Set(dt.Rows[r][0].ToString(), value);

}

}

}

ds.WriteXml("D:\\AppSettings.xml"); 

}

위의 예제는 간단하게 메모리상의 appSetting값을 변경하고 XML파일로 저장한다.

지금은 AppSettings.xml에 값이 있는 경우에만 수정이 가능한데

위의 예제로 쉽게 응용하여 새로운 값을 추가, 삭제도  쉽게 할 수 있을 것이다.

+ Recent posts