ASP.NET 애플리케이션에서 애플리케이션 및 디렉터리별 구성 설정 만들기
이 문서에서는 ASP.NET 애플리케이션별 및 디렉터리별 구성 설정을 만드는 방법을 설명합니다.
원래 제품 버전: ASP.NET
원래 KB 번호: 815174
요약
Web.config파일은 ASP.NET 애플리케이션의 루트 디렉터리에 있습니다. Web.config 파일은 애플리케이션과 관련된 구성 정보를 지정합니다. 디렉터리별로 구성 설정을 설정할 수도 있습니다. 이렇게 하는 방법에는 두 가지가 있습니다.
애플리케이션의 디렉터리에 여러 Web.config 파일을 배포합니다. 상위 수준Web.config 파일 또는 시스템 컴퓨터 구성(Machine.config) 파일에서 설정을 재정의하는 설정을 사용하여 ASP.NET 애플리케이션 디렉터리에Web.config파일을 추가합니다.
디렉터리별 또는 파일별 설정을 애플리케이션 Web.config 파일에 직접 추가합니다. 이 메서드는 단일 Web.config 파일을 사용하여 디렉터리별 구성 설정을 켭니다. Machine.config파일에서 이 메서드를 사용하여 ASP.NET 웹 애플리케이션에서 구성 설정을 강제 적용한 다음 Web.config파일이Machine.config 설정을 재정의하지 못하도록 할 수도 있습니다.
Machine.config 파일에서 location 요소 사용
웹 애플리케이션 또는 디렉터리에 적용되는 설정을 지정하려면 시스템 Machine.config 파일의 요소에 요소를 <configuration>
추가할 <location>
수 있습니다. 단일 파일에서 구성 설정을 중앙 집중화할 때 유용합니다. 또한 웹 호스팅 환경에서 개별 웹 애플리케이션에 특정 구성 설정을 위임하는 데 유용합니다.
요소에는 <location>
및 allowOverride
두 가지 특성이 path
포함됩니다. 특성은 path
구성 설정에서 다루는 사이트 또는 가상 디렉터리를 정의합니다. 요소의 설정 <location>
이 기본 웹 사이트에 적용되도록 지정하려면 특성을 Default Web Site
로 설정합니다path
. 설정이 기본 웹 사이트에서 MyApp이라는 애플리케이션에 적용되도록 지정하려면 특성을 Default Web Site/MyApp
로 설정합니다path
.
특성이 allowOverride
false이면 웹 애플리케이션 디렉터리의 Web.config 파일은 요소에서 <location>
지정한 설정을 재정의할 수 없습니다. 애플리케이션 개발자가 웹 애플리케이션을 구성하는 방법을 제한해야 하는 환경에서 유용한 설정입니다. 다음 예제에서는 Machine.config 파일의 일부를 보여줍니다. 파일은 기본 웹 사이트의 MyApp 애플리케이션에 액세스하기 위해 인증이 필요하며 Web.config 파일의 설정으로 재정의할 수 없습니다.
<configuration>
<location path="Default Web Site/MyApp" allowOverride="false">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
</configuration>
Web.config 파일에서 location 요소 사용
특정 애플리케이션 또는 디렉터리에 적용되는 설정을 지정하려면 애플리케이션 Web.config 파일의 요소에 요소를 <configuration>
추가 <location>
합니다. <location>
요소는 일반적으로 요소와 다른 구성 요소를 Web.config 파일에서 사용하는 것과 정확히 동일하게 포함합니다<system.web>
. 요소의 <location>
특성은 path
위치 구성 항목이 적용되는 가상 디렉터리 또는 파일 이름을 지정합니다. 다음 예제에서는 포럼 가상 디렉터리에 대한 사용자 지정 오류 메시지를 지정하는 애플리케이션 Web.config 파일의 일부를 보여줍니다.
<configuration>
<location path="forum" >
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="forum-error.aspx">
<error statusCode="404" redirect="forum-file-not-found.aspx" />
</customErrors>
</system.web>
</location>
</configuration>
참조
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기