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 |
'개발 > ASP.NET' 카테고리의 다른 글
Server.Transfer vs Response.redirect 무엇이 다를까? (2) | 2019.08.12 |
---|---|
NameValueCollection foreach문 사용 (0) | 2018.08.03 |
ServerControl Rendering 후 html 태그 (0) | 2018.07.26 |
현재/이전 페이지 주소 (0) | 2018.03.09 |
ClientScriptManager (0) | 2018.03.08 |