다음을 통해 공유


애플리케이션 풀 기본값 applicationPoolDefaults <>

개요

컬렉션 컬렉션은 <applicationPoolDefaults> 웹 서버의 <applicationPools> 모든 애플리케이션 풀에 대한 기본값을 구성합니다.

참고

컬렉션에 <applicationPoolDefaults> 명시적으로 정의되지 않은 모든 기본값은 여전히 IIS 7 이상 스키마의 기본값을 상속하며 개별 애플리케이션 풀 설정은 기본값을 재정의합니다.

호환성

버전 참고
IIS 10.0 <applicationInitialization> 요소가 IIS 10.0에서 수정되지 않았습니다.
IIS 8.5 <applicationInitialization> 요소가 IIS 8.5에서 수정되지 않았습니다.
IIS 8.0 다른 값("v4.0")이 IIS 8.0의 특성에 추가 managedRuntimeVersion 되었으며 기본값은 "v2.0" 대신 ""로 변경되었습니다.
IIS 7.5 <applicationPoolDefaults> 요소가 IIS 7.5에서 수정되지 않았습니다.
IIS 7.0 요소는 <applicationPoolDefaults> IIS 7.0에서 도입되었습니다.
IIS 6.0 요소는 <applicationPoolDefaults> IIS 6.0 IIsApplicationPools 메타베이스 속성의 일부를 대체합니다.

설치 프로그램

컬렉션은 <applicationPools> IIS 7 이상의 기본 설치에 포함되어 있습니다.

방법

애플리케이션 풀 기본값을 설정하는 방법

  1. IIS(인터넷 정보 서비스) 관리자를 엽니다.

    • Windows Server 2012 또는 Windows Server 2012 R2를 사용하는 경우:

      • 작업 표시줄에서 서버 관리자 클릭하고 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
    • Windows 8 또는 Windows 8.1 사용하는 경우:

      • Windows 키를 누른 채로 문자 X를 누른 다음 제어판 클릭합니다.
      • 관리 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
    • Windows Server 2008 또는 Windows Server 2008 R2를 사용하는 경우:

      • 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
    • Windows Vista 또는 Windows 7을 사용하는 경우:

      • 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
      • 관리 도구를 두 번 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
  2. 연결 창에서 서버 이름을 확장한 다음 애플리케이션 풀을 클릭합니다.

  3. 작업 창에서 애플리케이션 풀 기본값 설정...을 클릭합니다.
    필터 필드를 보여 주는 애플리케이션 풀 화면의 스크린샷

  4. 애플리케이션 풀 기본값 대화 상자에서 원하는 옵션을 지정합니다.
    애플리케이션 풀 기본값 대화 상자의 스크린샷

  5. 설정 지정을 마쳤으면 확인을 클릭합니다.

구성

특성

attribute Description
autoStart 선택적 부울 특성입니다.

true이면 W3SVC(World Wide Web Publishing Service)에 애플리케이션 풀을 만들 때 또는 IIS가 시작될 때 자동으로 시작되어야 했음을 나타냅니다.

기본값은 true입니다.
CLRConfigFile 선택적 문자열 값입니다.

애플리케이션 풀에 대한 .NET 구성 파일을 지정합니다.

참고: 이 특성은 IIS 7.5에 추가되었습니다.

기본값은 없습니다.
enable32BitAppOnWin64 선택적 부울 특성입니다.

true이면 64비트 버전의 Windows를 실행하는 컴퓨터에서 32비트 애플리케이션을 실행할 수 있습니다.

기본값은 false입니다.
managedPipelineMode 선택적 열거형 특성입니다.

관리되는 콘텐츠에 대한 요청을 처리하는 데 사용되는 요청 처리 모드를 지정합니다.

managedPipelineMode 특성은 다음과 같은 가능한 값 중 하나일 수 있습니다. 기본값은 입니다Integrated.
Description
Classic 애플리케이션 풀은 ASP.NET 1.1 애플리케이션에서 작동하는 별도의 IIS 및 ASP.NET 요청 처리 파이프라인을 사용하고 통합 모드에서 작동하지 않는 ASP.NET 2.0 애플리케이션을 사용하도록 지정합니다.

숫자 값은 입니다 1.
Integrated 애플리케이션 풀이 ASP.NET 2.0 이상 애플리케이션에서만 작동하는 통합 IIS 및 ASP.NET 요청 처리 파이프라인을 사용하도록 지정합니다.

숫자 값은 입니다 0.
managedRuntimeLoader 선택적 문자열 특성입니다.

애플리케이션 풀을 미리 로드하는 데 사용할 관리되는 로더를 지정합니다.

참고: 이 특성은 IIS 7.5에 추가되었습니다.

기본값은 webengine4.dll.
managedRuntimeVersion 선택적 문자열 특성입니다.

애플리케이션 풀에서 사용할 .NET Framework 버전을 지정합니다.

managedRuntimeVersion 특성은 다음과 같은 가능한 값 중 하나일 수 있습니다. 기본값은 입니다"".
Description
v1.1 애플리케이션 풀이 .NET Framework 버전 1.1을 사용하도록 지정합니다.
v2.0 애플리케이션 풀이 .NET Framework 버전 2.0을 사용하도록 지정합니다.
v4.0 애플리케이션 풀이 .NET Framework 버전 4.0을 사용하도록 지정합니다.
name 필수 문자열 특성입니다.

서버의 애플리케이션 풀에 대한 고유한 이름을 지정합니다.
queueLength 선택적 uint 특성입니다.

향후 요청을 거부하기 전에 애플리케이션 풀에 대해 큐에 대기할 요청 수를 HTTP.sys 나타냅니다.

이 속성에 대해 설정된 값을 초과하면 IIS는 503 오류와 함께 후속 요청을 거부합니다. loadBalancerCapabilities 설정이 true이면 503이 있는 요청을 거부하는 대신 연결이 닫힙니다. loadBalancerCapabilities에 대한 자세한 내용은 애플리케이션 풀에 대한 오류 설정을 참조하세요.

기본값은 1000입니다.
startMode 선택적 열거형 값입니다.

애플리케이션 풀의 시작 유형을 지정합니다.

참고: 이 특성은 IIS 7.5에 추가되었습니다.

startMode 특성은 다음과 같은 가능한 값 중 하나일 수 있습니다. 기본값은 입니다OnDemand.
Description
AlwaysRunning WAS(Windows Process Activation Service)가 항상 애플리케이션 풀을 시작하게 지정합니다. 이 동작을 사용하면 애플리케이션이 HTTP 요청을 처리하기 전에 운영 환경을 로드할 수 있으므로 애플리케이션에 대한 초기 HTTP 요청에 대한 시작 처리가 줄어듭니다.

숫자 값은 입니다 1.
OnDemand 애플리케이션 풀에서 호스트되는 애플리케이션에 대한 HTTP 요청이 수행될 때 WAS(Windows Process Activation Service)가 애플리케이션 풀을 시작하게 지정합니다. 이 동작은 이전 버전의 IIS에서 WAS 동작과 유사합니다.

숫자 값은 입니다 0.

자식 요소

요소 Description
cpu CPU 선호도 및 CPU 작업을 구성합니다.
environmentVariables 작업자 프로세스에 전달할 환경 변수 컬렉션을 구성합니다.
failure 애플리케이션 풀이 실패할 때 수행할 작업을 구성합니다.
processModel 애플리케이션 풀에 대한 프로세스 관리 특성을 구성합니다.
recycling 애플리케이션 풀 재활용을 구성합니다.

구성 샘플

다음 구성 샘플은 모든 애플리케이션 풀의 기본 ID를 기본 제공 애플리케이션 풀 ID로 지정하고 200을 애플리케이션 풀이 재활용된 후의 기본 요청 수로 지정합니다.

<applicationPools>
   <add name="DefaultAppPool" />
   <applicationPoolDefaults>
      <processModel identityType="ApplicationPoolIdentity" />
      <recycling>
         <periodicRestart requests="200" />
      </recycling>
   </applicationPoolDefaults>
</applicationPools>

샘플 코드

다음 예제에서는 애플리케이션 풀이 자동으로 시작되고, .NET 환경의 버전 2.0을 사용하고, 기본적으로 통합 파이프라인을 사용하도록 구성합니다.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.autoStart:"True" /commit:apphost

appcmd.exe set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.managedRuntimeVersion:"v2.0" /commit:apphost

appcmd.exe set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.managedPipelineMode:"Integrated" /commit:apphost

참고

AppCmd.exe 사용하여 이러한 설정을 구성할 때 커밋 매개 변수 apphost 를 로 설정해야 합니다. 그러면 구성 설정이 ApplicationHost.config 파일의 적절한 위치 섹션에 커밋됩니다.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample {

   private static void Main() {

      using(ServerManager serverManager = new ServerManager()) { 
         Configuration config = serverManager.GetApplicationHostConfiguration();

         ConfigurationSection applicationPoolsSection = config.GetSection("system.applicationHost/applicationPools");

         ConfigurationElement applicationPoolDefaultsElement = applicationPoolsSection.GetChildElement("applicationPoolDefaults");
         applicationPoolDefaultsElement["autoStart"] = true;
         applicationPoolDefaultsElement["managedRuntimeVersion"] = @"v2.0";
         applicationPoolDefaultsElement["managedPipelineMode"] = @"Integrated";

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Class Sample
   Shared Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim applicationPoolsSection As ConfigurationSection = config.GetSection("system.applicationHost/applicationPools")
      Dim applicationPoolDefaultsElement As ConfigurationElement = applicationPoolsSection.GetChildElement("applicationPoolDefaults")
      applicationPoolDefaultsElement("autoStart") = True
      applicationPoolDefaultsElement("managedRuntimeVersion") = "v2.0"
      applicationPoolDefaultsElement("managedPipelineMode") = "Integrated"
      serverManager.CommitChanges()
   End Sub
End Class

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools", "MACHINE/WEBROOT/APPHOST");
var applicationPoolDefaultsElement = applicationPoolsSection.ChildElements.Item("applicationPoolDefaults");
applicationPoolDefaultsElement.Properties.Item("autoStart").Value = true;
applicationPoolDefaultsElement.Properties.Item("managedRuntimeVersion").Value = "v2.0";
applicationPoolDefaultsElement.Properties.Item("managedPipelineMode").Value = "Integrated";

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set applicationPoolsSection = adminManager.GetAdminSection("system.applicationHost/applicationPools", "MACHINE/WEBROOT/APPHOST")
Set applicationPoolDefaultsElement = applicationPoolsSection.ChildElements.Item("applicationPoolDefaults")
applicationPoolDefaultsElement.Properties.Item("autoStart").Value = True
applicationPoolDefaultsElement.Properties.Item("managedRuntimeVersion").Value = "v2.0"
applicationPoolDefaultsElement.Properties.Item("managedPipelineMode").Value = "Integrated"

adminManager.CommitChanges()