개발/ASP.NET
Web.config 변수 설정
한번사는인생.
2018. 8. 2. 16:40
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 |