본문으로 바로가기

구성파일(Configuration File)

category Development/C# 2013. 4. 11. 16:18

구성파일이란?

구성 파일은 웹 서버나 웹 응용 프로그램에 대한 구성정보가 들어 있는 .config 확장자를 가진 XML파일

 

 Machine,config

 웹 서버 내에 있는 모든 ASP.NET 웹 응용 프로그램에 영향을 미치는 기본 구성 정보를 담고 있는 구성파일로 C:\SystemRoot\Microsoft.NET\Framework\Version\CONFIG\ 폴더 하위에 위치
 Web.config  특정 웹 응용 프로그램에 영향을 미치는 구성 정보를 담고 있는 구성 파일로서 해당 웹 응용 프로그램의 루트 디렉토리 또는 하위 디렉토리에 위치

 

구성파일의 계층구조

      Machine.config : 웹 서버를 위한 기본 구성 파일

            Web.config : 웹 서버를 위한 웹 루트 구성 파일

                   \Web.config : 웹 사이트를 위한 구성파일

                           \WebApp1, \Web.config : 웹 응용 프로그램1을 위한 구성파일

                                     \WebApp1\SubDir, \Web.config : 웹 응용 프로그램1 하위 SubDir1을 위한 구성파일

                            \WebApp2, \Web.config : 웹 응용 프로그램2를 위한 구성파일.

 

 <anonymousldentification>   익명의 사용자의 권한과 관련된 사항을 설정

 <appSettings>

 사용자 지정 구성 정보들을 키/값 쌍을 이용하여 설정함
 <authentication>  웹 응용 프로그램에 접근하는 사용자의 인증과 관련된 사항을 설정
 <authorization>  웹 응용 프로그램에 접근하는 사용자의 권한과 관련된 사항을 설정
 <caching>  웹 응용 프로그램의 캐싱과 관련된 사항을 설정
 <compliation>

 ASP.NET의 컴파일 제어와 관련된 사항을 설정

   debug : 디버그 이진 파일을 컴파일할 것인지의 여부를 지정

              [True, Flase(기본값)]
   defaultLanguage : 동적 컴파일에 사용할 기본 프로그래밍 언어

                             (예 : "C#" 또는   "PERL")를 지정. 기본값은 "vb"
   batch : 일괄 처리 지원 여부를 나타냄. [True(기본값), False]
              True 면 컴파일되지 않은 모든 파일들을 미리 컴파일함으로써 첫 요청 시

              발생하는 지연시간을 없앨 수 있음
   batchTimeOut : 일괄 처리 컴파일의 타임아웃 시간(초)을 지정.

                         기본값은 900 (15분)

 <connectionStrigs>  연결 문자열 정보들을 키/값 쌍을 이용하여 설정
 <customErrors>

 웹 응용 프로그램에서 발생되는 여러 오류에 대해 사용자 지정 오류 메시지를 보여줄 것인지 설정

   defaultRedirect : 오류 발생 시 이동할 기본 URL을 지정. 이 특성이 지정되지 않으

                           면 완전한 오류가 출력
   mode : customError 요소에서 반드시 지정되어야 하는 필수특성으로 사용자지정

             오류 메시지 사용여부설정
   On - 사용자 지정 오류 메시지 사용(만약 defaultRedirect 특성이 지정되어 있지

          않으면 완전한 오류 메시지가 출력)
   Off - 사용자 지정 오류 메시지 사용 X
   RemoteOnly(기본값) - 사용자 지정 오류 메시지는 원격 클라이언트(일반 사용자)

                                  에게만 출력하고, 로컬 컴퓨터(웹 서버)에는 완전한 오류메

                                  시지 출력

 <globalization>

 웹 응용 프로그램의 전역화에 대한 사항을 설정

   requestEncoding : 페이지 내의 데이터 및 쿼리 문자열을 포함한 페이지의 요청의

                             인코딩을 지정. 기본값은 UTF-8이며 구성파일에 이 특성이 지

                             정 되어 있지 않으면 인코딩은 해당 컴퓨터의 지역 정보 설정

                             값에 따름
   reponseEncoding : 응답에 대한 콘텐츠 인코딩을 지정. 기본값은 UTF-8 구성파

                               일에 지정되어 있지 않으면 인코딩은 해당 컴퓨터의 지역정보

                               설정값에 따름
   fileEncoding : .aspx, .asmx 및 .asax 파일 구문 분석에 대한 기본 인코딩을 지정
   culture : 웹 요청을 처리하기 위한 기본 culture를 지정.
               유효한 문자열은 System.Globalization.CultureInfo 클래스에서 확인가능
               (한국은 culture 문자열은 'ko')
               이 특성에는 유효한 culture 문자열 대신 auto를 지정할 수도 있음.
   uiCulture : 날짜, 시간, 숫자, 통화 형식과 같은 지역에 종속된 리소스를 처리할 때

                  사용되는 기본 culture를 지정.

                  유효한 culture 문자열은 System.Globalization.CultureInfo 클래스에서

                  확인가능. auto 지정가능

 <httpRuntime>

 ASP.NET 응용 프로그램에 대한 요청을 처리하는 방법을 결정하는 ASP.NET HTTP 런타임 설정을 구성

   appRequestQueueLimit : ASP.NET에서 응용 프로그램을 위해 큐에 대기시키는

                                      최대 요청 수를 지정.
                                      요청을 처리하는데 사용할 수 있는 충분한 스레드가 없

                                      으면 요청이 대기됨.
                                      큐가 이 특성에 지정된 제한을 초과하면 들어오는 요청

                                      이 거부됨(기본값 500)
                                      요청 거부 메시지 번호 "503"
   enableHeaderChecking : ASP.NET에서 요청헤더를 검사하여 잠재적 삽입 공격

                                       이 있는지를 확인 할지의 여부를 지정.

                                       공격이 발견되면 ASP.NET에서는 오류표시

                                       [True(기본),False]
   maxRequestLength : 입력 스트림 버퍼링의 임계값 제한(KB)을 지정.
                                 이 제한을 설정하면 사용자가 서버에 큰 파일을 게시하여 웹

                                 서버를 공격하는 것을 방지할 수 있음.

                                 기본값은 4096(4MB).

 <membership>  멤버 자격과 관련된 사항을 설정
 <pages>

 사용자가 요청한 페이지를 처리하는 데 필요한 여라가지 사항을 설정

   autoEventWireup : 페이지이벤트(예: Init, Load 등등)를 자동으로 설정할 지의

                             여부 지정 [True(기본),False]
   compliationMode : 페이지 또는 컨트롤의 런타임 시 컴파일 여부를 지정
         Alway(기본값) : 페이지가 항상 컴파일
         Auto : 가능하면 ASP.NET 페이지를 컴파일하지 않음
         Never : 페이지가 항상 컴파일 X
                    페이지에 컴파일해야 하는 스크립트 블록이나 코드 구문이 포함되어

                    있는 경우에는 ASP.NET에서 오류반환, 페이지실행 X
   enableSessionState : 세상 상태 요구사항을 지정.
          True : 세션 상태가 설정되었음을 나타냄
          False : 세션 상태가 설정되지 않았음을 나타냄
          ReadOnly : 세션 상태 쓸 수 없음.
   enableViewState : 뷰 상태가 설정되고 페이지 요청간에 유지되는지의 여부를

                             지정 [True(기본), False]
   pageBaseType : 페이지가 기본적으로 사용할 형식을 지정. 기본값은

                          "System.Web.UI.Page"
   userControlBaseType : 사용자 정의 컨트롤이 기본적으로 사용할 형식을 지정.
                                    기본값은 System.Web.UI.User.Control
   masterPageFile :사용할 마스터 페이지의 경로를 지정. 기본값은 빈 문자열("")
                          마스터페이지를 사용하지 않습니다.
   theme :사용할 테마를 지정. 기본값은 빈 문자열("")로서 테마를 사용하지 않음
   styleSheetTheme :사용할 스타일시트를 지정. 기본값은 빈 문자열("")로서 사용하

                             지 않음

 <profile>  프로필과 관련된 사항을 설정
 <roleManager>  역할 관리자와 관련된 사항을 설정
 <sessionState>  세션 상태와 관련된 사항을 설정
 <siteMap>  사이트 탐색과 관련된 사항을 설정
 <webParts>  웹 파트와 관련된 사항을 설정

'Development > C#' 카테고리의 다른 글

XAML 요소의 네임스페이스와 CLR 타입 매핑  (0) 2014.05.09
C# 데이터형식  (0) 2013.04.15
Enum 변환  (0) 2013.02.13
LINQ Sample  (0) 2013.01.31
using 과 Dispose  (0) 2013.01.04