.net 에서 웹 config 상세 설명

10079 단어 .netwebconfig
.net 에서 제공 하 는 것 은 현재 기계 에 대한 설정 입 니 다.이름:machine.config
운영 체제:asp.net 사이트 IIS 가 시 작 될 때 설정 파일 의 설정 정 보 를 불 러 오고 이 정 보 를 캐 시 합 니 다.그러면 매번 설정 정 보 를 읽 을 필요 가 없습니다.실행 과정 에서 asp.net 응용 프로그램 은 설정 파일 의 변화 상황 을 감시 하고 이 설정 정 보 를 편집 하면 이 설정 정 보 를 다시 읽 고 캐 시 합 니 다.
프로필 노드:
  웹.config 파일 은 XML 파일 임 을 알 아야 합 니 다.
  소속 루트 노드 의 이름:

  <configuration>
         :<configSections></configSections>
             <appSettings> </appSettings>
            <connectionStrings></connectionStrings>
            <system.web></system.web>
        : <system.webServer></system.webServer>----- Web IIS 7.0 , IIS 7.0 , , Web.config
  <configuration>
  노드 분석:
1.노드
주로 데이터베이스 연결 을 설정 하 는 데 사 용 됩 니 다.노드 에 임의의 노드 를 추가 하여 데이터베이스 연결 문자열 을 저장 한 다음 코드 를 통 해 노드 의 값 을 동적 으로 가 져 와 데이터베이스 연결 대상 을 예화 할 수 있 습 니 다.
예 를 들 면:

    <connectionStrings>
        <!--SQL Server -->   <add name=" ( )"  connectionString=" Date Source= ; Initial Catalog= ; User ID=     Password= "/>
        <add name="AspNetStudyConnectionString1" connectionString="Data Source=(local);Initial Catalog=AspNetStudy;User ID=sa;Password=sa"/>
        <add name="ConnectionString" connectionString="Data Source=10.0.0.52;Initial Catalog=NEW_HOSPITAL_DEV;User ID=hospital;pwd=hospital;"/>
    </connectionStrings>
코드 한약 에서 데이터베이스 연결 대상 을 읽 는 방법:

    // web.config
    string connectionString = ConfigurationManager.ConnectionStrings["AspNetStudyConnectionString1"].ConnectionString;
    // SqlConnection
    SqlConnection connection = new SqlConnection(connectionString);
이 를 통 해 알 수 있 듯 이 개발 할 때 사용 하 는 데이터베이스 와 배치 할 때의 데이터베이스 가 일치 하지 않 으 면 수첩 과 같은 텍스트 편집 도구 로 connection String 속성의 값 을 편집 하면 됩 니 다.
2.노드
   역할:asp.net 응용 프로그램의 일부 설정 정 보 를 저장 합 니 다.예 를 들 어 파일 을 업로드 하 는 저장 경로 등 입 니 다.
예 를 들 어 그림 형식 을 설정 할 수 있 습 니 다:

    <appSettings>
        <add key="ImageType" value=".jpg;.bmp;.gif;.png;.jpeg"/>----<!-- -->
        <add key="FileType" value=".jpg;.bmp;.gif;.png;.jpeg;.pdf;.zip;.rar;.xls;.doc"/><!-- -->
    </appSettings>
노드 의 값 읽 기:
string  FileType= ConfigurationManage.AppSettings["FileType"]; ----사실은 키 값 이 맞 는 형식 으로 값 을 얻 는 거 예요.
3.노드:
소속 하위 노드:
3.1.노드
            역할:노드 설정 ASP.NET 에서 사용 하 는 모든 컴 파일 설정.기본 debug 속성 은"true"입 니 다.즉,디 버 깅 을 허용 합 니 다.이 경우 사이트 의 성능 에 영향 을 줄 수 있 으 므 로 프로그램 컴 파일 이 완료 되 어 배 송 된 후에"false"로 설정 해 야 합 니 다.
예 를 들 면:

            <compilation targetFramework="4.0" debug="true">
            <buildProviders>
                <add extension=".html" type="System.Web.Compilation.PageBuildProvider"/>
            </buildProviders>
            </compilation>
3.2.노드
        역할:사용자 가 사이트,디 렉 터 리 또는 단독 페이지 에 대한 접근 을 제어 합 니 다.
asp.net 인증 모드 를 설정 합 니 다.네 가지 인증 모드 가 있 습 니 다.그들의 값 은 다음 과 같 습 니 다.
모드 설명
윈도 는 윈도 인증 을 사용 하여 도 메 인 사용자 나 랜 사용자 에 게 적 용 됩 니 다.
Forms 는 폼 검증 을 사용 하여 사이트 개발 자 에 의 해 인증 을 한다.
Passport 는 마이크로소프트 가 제공 하 는 인증 서 비 스 를 사용 하여 인증 을 진행 합 니 다.
None 는 인증 을 하지 않 습 니 다.
 예 를 들 면:           
       
 3.2.노드
 노드 는 사용자 정의 오류 정 보 를 정의 하 는 데 사 용 됩 니 다.이 노드 는 Mode 와 defaultRedirect 두 개의 속성 이 있 습 니 다.그 중에서 defaultRedirect 속성 은 선택 가능 한 속성 입 니 다.프로그램 이 오류 가 발생 했 을 때 기본 URL 로 바 뀌 었 음 을 나타 내 고 이 속성 을 지정 하지 않 으 면 일반적인 오 류 를 표시 합 니 다.Mode 속성 은 필수 속성 입 니 다.세 가지 가능 한 값 이 있 습 니 다.이들 이 대표 하 는 의 미 는 다음 과 같 습 니 다.
모드 설명
On     로 컬 과 원 격 사용자 가 사용자 정의 오류 정 보 를 볼 수 있 음 을 나타 낸다.
Off    사용자 정의 오류 정 보 를 사용 하지 않 으 면 로 컬 과 원 격 사용자 가 자세 한 오류 정 보 를 볼 수 있 습 니 다.
RemoteOnly 는 로 컬 사용자 가 자세 한 오류 정 보 를 볼 수 있 고 원 격 사용 자 는 사용자 정의 오류 정 보 를 볼 수 있 음 을 나타 낸다.
이곳 은 로 컬 사용자 와 원 격 사용자 의 개념 을 설명 할 필요 가 있다.우리 가 asp.net 응용 프로그램 을 방문 할 때 사용 하 는 기계 와 asp.net 응용 프로그램 을 발표 할 때 사용 하 는 기계 가 같은 기계 일 때 로 컬 사용자 가 되 고,반대로 원 격 사용자 라 고 합 니 다.개발 디 버 깅 단계 에서 오류 Mode 속성 을 쉽게 찾기 위해 서 는 Off 로 설정 하 는 것 을 권장 합 니 다.배치 단계 에 서 는 Mode 속성 을 On 또는 RemoteOnly 로 설정 하여 이러한 상세 한 오류 정보 가 프로그램 코드 디 테 일 을 노출 시 켜 해커 의 침입 을 초래 하지 않도록 해 야 합 니 다.
예:

<!-- mode="RemoteOnly"-->
        <customErrors mode="Off" defaultRedirect="/Error.aspx">
            <error statusCode="404" redirect="/404.aspx"/>
            <error statusCode="500" redirect="/500.aspx"/>
        </customErrors>
3.3하위 노드
            노드 에하위 노드 가 포함 되 어 있 습 니 다.이 노드 는 서버 의 HTTP 오류 상태 코드 에 따라 사용자 정의 오류 페이지 로 재 설정 되 어 있 습 니 다.하위 노드 를 주의해 야 합 니 다.            아래 설정 이 적 용 됩 니 다.노드 노드 의 Mode 속성 을"On"으로 설정 해 야 합 니 다.다음은 하나의 예 이다.

    <customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
         <error statusCode="403" redirect="403.htm" />-- 403.htm
         <error statusCode="404" redirect="404.htm" />-- 404.htm
    </customErrors>
403.htm 와 404.htm 페이지 는 모두 저희 가 추가 한 페이지 입 니 다.
3.4노드 
                 역할:사용자 가 요청 한 URL 과 HTTP 술어 에 따라 사용자 의 요청 을 해당 처리 프로그램 에 전달 하 는 데 사 용 됩 니 다.처리 결 과 는 사용자 가 관련 파일 을 보 거나 다운로드 할 수 없습니다.
         만약 에 우리 의 특정한 폴 더 에 있 는 파일 이나 특정한 유형의 파일 이 사용자 가 다운로드 할 수 없다 면노드 에 해당 하 는 하위 노드 를 추가 할 수 있 습 니 다.
예:우리 의 asp.net 응용 프로그램 에 IPData 디 렉 터 리 를 만 들 고 IPData 디 렉 터 리 에 IPData.txt 파일 을 만 들 고 웹.config 에 다음 설정 을 추가 합 니 다.

    <httpHandlers>
          <add path="IPData/*.txt" verb="*" type="System.Web.HttpForbiddenHandler"/>--- IPData txt
     <add path="*.mdf" verb="*" type="System.Web.HttpForbiddenHandler" validate="true"/>
            <add path="*.ldf" verb="*" type="System.Web.HttpForbiddenHandler" validate="true"/>--- *.mdf、*.ldf ,Get Post System.Web.HttpForbiddenHandler ,
    </httpHandlers>
 3.5.노드 
    ASP.NET HTTP 실행 라 이브 러 리 설정 에 사용 합 니 다.이 절 은 컴퓨터,사이트,응용 프로그램,하위 디 렉 터 리 단계 에서 설명 할 수 있 습 니 다.
    예 를 들 어 아래 설정 은 사용자 가 업로드 할 수 있 는 최대 파일 이 40M(40*1024K)이 고 최대 시간 초과 시간 은 60 초 이 며 최대 동시 다발 요청 은 100 개 입 니 다.
   
 3.6.노드
특정 페이지 에 대한 설정 을 나타 내 는 데 사용 되 며,주로 세 개의 속성 이 있 습 니 다.
    속성 명 설명
    buffer 에서 HTTP 응답 버퍼 를 사용 할 지 여부 입 니 다.
    enableViewStateMac 은 페이지 의 보기 상태 에 대해 컴퓨터 인증 검사(MAC)를 실행 하여 사용자 가 변경 하 는 것 을 방치 해 야 하 는 지,기본 값 은 false 이 며,true 로 설정 하면 성능 이 떨 어 집 니 다.
    vaidateRequest 는 사용자 입력 에 크로스 사이트 스 크 립 트 공격 과 SQL 주입 식 구멍 공격 이 있 는 지 검증 합 니 다.기본 값 은 true 입 니 다.일치 하 는 상황 이 발생 하면 HttpRequestValidationException 이상 이 발생 합 니 다.포함    텍스트 편집기 페이지 는 일반적으로 사용자 의 입력 을 자체 적 으로 검증 하고 이 속성 을 false 로 설정 합 니 다.
    다음은 노드 를 설정 하 는 예 입 니 다.
    
3.7노드
노드 는 현재 asp.net 프로그램의 세 션 상태 설정 을 설정 하 는 데 사 용 됩 니 다.다음은 일반적인 설정 입 니 다.
   
위의 노드 설정 은 asp.net 프로그램 에서 Cookie 를 사용 하도록 설정 되 어 있 으 며,세 션 상태 모드 를 프로 세 스에 서 세 션 상 태 를 저장 하도록 지정 하 는 동시에 세 션 시간 초 과 를 30 분 으로 지정 합 니 다.
노드 의 Mode 속성 은 다음 과 같은 몇 가지 값 중 하나 일 수 있 습 니 다.
속성 값 설명
사용자 정의 데 이 터 를 사용 하여 세 션 상태 데 이 터 를 저장 합 니 다.
InProc 기본 값 입 니 다.asp.net 보조 프로 세 스 로 세 션 상태 데 이 터 를 저장 합 니 다.
세 션 상 태 를 사용 하지 않 습 니 다.
SQLServer 는 프로 세 스 외 SQL Server 데이터 베 이 스 를 사용 하여 세 션 상태 데 이 터 를 저장 합 니 다.
StateServer 는 프로 세 스 외 ASP.NET 상태 서 비 스 를 사용 하여 상태 정 보 를 저장 합 니 다.
일반적으로 기본 적 인 상황 에서 InProc 모드 를 사용 하여 세 션 상태 데 이 터 를 저장 합 니 다.이 모드 는 액세스 속도 가 빠 르 고 메모리 사용량 이 많은 것 이 단점 이기 때문에 이런 모드 에서 대형 사용자 세 션 데 이 터 를 저장 하 는 것 은 좋 지 않 습 니 다.
4
----------------------

역할:요청 URL 에 웹 프로그램의 특정 파일 이 포함 되 어 있 지 않 을 때 IIS 7.0 은 기본 파일 을 제공 합 니 다.
시스템.webServer 요소 에 defaultDocument 요 소 를 만 듭 니 다.
defaultDocument 요소 에 files 요 소 를 만 듭 니 다.
files 요소 에 add 요 소 를 만 들 고 value 속성 에 기본 파일 의 경로 와 이름 을 지정 합 니 다.

<configuration>
  <system.webServer>
    <defaultDocument>      <files>        <add value="Products.aspx" />      </files>    </defaultDocument>----- , Products.aspx
  </system.webServer>
</configuration>

좋은 웹페이지 즐겨찾기