Web.config 변수 설정

appSettings / connectionStrings 엘리먼트

<appSettings>
    <add key="appKey" value="1234567"/>
    <add key="appCode" value="cmang9"/>
    <add key="appVisible" value="true"/>
</appSettings>
 
<connectionStrings>
    <add name="REAL" connectionString="Data Source=ServerName;User Id=id;PASSWORD=password;Initial Catalog=DatabaseName" providerName="System.Data.SqlClient" />
    <add name="TEST" connectionString="Data Source=ServerName;User Id=id;PASSWORD=password;Initial Catalog=DatabaseName" providerName="System.Data.SqlClient" />
</connectionStrings>
cs

appSettings 엘리먼트 안에 자식 엘리먼트로 여러 key값을 추가할 수 있다.

Web개발을 하면서 DB는 필연적인 관계이다.

DB 호출을 하기 위해서는 connectionString 관리는 필수이고, web.config에서 관리한다.


BehindCode에서 Web.config 변수 호출 방법

var appKey = ConfigurationManager.AppSettings["appKey"];
cs

appSettings 엘리먼트에 속하는 자식 엘리먼트 key값을 가지고 value값을 가져온다.

var connectionString = ConfigurationManager.ConnectionStrings["REAL"].ConnectionString;
cs

connectionStrings 엘리먼트에 속하는 자식 엘리먼트를 가져와서, 해당 엘리먼트의 속성값인 connectionString값을 가져온다.


특정 엘리먼트를 생성(부모-자식)

appSettings 엘리먼트 말고, 새로운 엘리먼트를 생성도 가능하다.

configSections 엘리먼트에 새로 사용할 엘리먼트들을 추가해준다.
나는 key, value를 사용하기 위해서 아래와 같은 type을 설정해주었다.

<configSections>
    <sectionGroup name="cmang9">
        <section name="information" type="System.Configuration.NameValueSectionHandler"/>
        <section name="etc" type="System.Configuration.NameValueSectionHandler"/>
    </sectionGroup>
</configSections>
cs


configSections 셋팅 후, 새로운 엘리먼트들을 사용할 수 있다.
<cmang9>
    <information>
        <add key="name" value="jack"></add>
        <add key="age" value="50"></add>
        <add key="address" value="incheon"></add>
    </information>
    <etc>
        <add key="job" value="programmer"></add>
    </etc>
</cmang9>
cs

BehindCode에서 해당 엘리먼트 호출은 아래와 같다.

var age = GetSection["age"];
var address = GetSection["address"];
 
// 속성
private NameValueCollection GetSection {
    get => (NameValueCollection)ConfigurationManager.GetSection("cmang9/information");
}
cs



+ Recent posts