서비스 자동 시작 공급자 <서비스AutoStartProviders>

개요

요소는 <serviceAutoStartProviders> 애플리케이션 풀의 특성이 로 설정AlwaysRunning될 때 startMode WAS(Windows Process Activation Service)가 자동으로 로드하는 관리되는 어셈블리의 컬렉션을 지정합니다. 이 컬렉션을 사용하면 개발자가 HTTP 요청을 처리하기 전에 초기화 작업을 수행하는 어셈블리를 지정할 수 있습니다. 예를 들어 애플리케이션 개발자는 IIS가 요청 처리를 시작하기 전에 애플리케이션에 대한 초기 데이터베이스 연결 설정할 수 있습니다. 이렇게 하면 애플리케이션이 데이터베이스를 왕복해야 하는 초기 요청에 대해 더 빠르게 수행할 수 있습니다.

애플리케이션 풀이 자동으로 시작되도록 구성하는 방법에 대한 자세한 내용은 항목을 참조하세요 <applicationPools> .

참고

이 요소는 IIS 7.5에서 도입되었습니다.

호환성

버전 참고
IIS 10.0 <serviceAutoStartProviders> 요소가 IIS 10.0에서 수정되지 않았습니다.
IIS 8.5 <serviceAutoStartProviders> 요소가 IIS 8.5에서 수정되지 않았습니다.
IIS 8.0 <serviceAutoStartProviders> 요소가 IIS 8.0에서 수정되지 않았습니다.
IIS 7.5 요소는 <serviceAutoStartProviders> IIS 7.5에서 도입되었습니다.
IIS 7.0 해당 없음
IIS 6.0 해당 없음

설치 프로그램

요소는 <serviceAutoStartProviders> IIS 7.5의 기본 설치에 포함됩니다.

방법

서비스 자동 시작 공급자를 구성하는 방법

참고

요소를 구성할 <serviceAutoStartProviders> 수 있는 직접 사용자 인터페이스가 없으므로 다음 단계에서는 IIS 구성 편집기 기능을 사용합니다.

  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. 섹션 드롭다운 메뉴에서 system.applicationHost를 확장한 다음 serviceAutoStartProviders를 클릭합니다.
    시스템 점 애플리케이션 호스트 탭이 확장된 것을 보여 주는 구성 편집기 페이지의 스크린샷

  5. (컬렉션) 필드의 오른쪽에 있는 줄임표(...)를 클릭합니다.

  6. 작업 창에서 추가를 클릭합니다.

  7. 컬렉션 편집기 대화 상자가 표시되는 경우:

    • 이름 필드에 자동 시작 공급자의 이름을 입력합니다. 예를 들면 다음과 같습니다.
      "MyAutostartProvider"
    • 형식 필드에 자동 시작 어셈블리의 관리 되는 형식 을 입력합니다. 예를 들면 다음과 같습니다.
      "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
    • 컬렉션 편집기 대화 상자를 닫습니다.
      이름 및 관리되는 유형의 자동 시작 공급자에 대한 필드를 보여 주는 컬렉션 편집기 대화 상자의 스크린샷
  8. 작업 창에서 적용을 클릭합니다.

참고

이 섹션에는 IIS 구성 편집기를 사용하여 IIS 설정을 수정하는 방법에 대한 정보가 포함되어 있습니다. IIS 구성 설정을 잘못 편집하면 IIS 설치가 심각하게 손상됩니다. 따라서, 단계를 신중하게 따라야 합니다. 보안을 강화하려면 IIS 구성 편집기를 사용하여 수정하기 전에 IIS 구성 설정을 백업해야 합니다. IIS 구성 설정을 백업하는 방법 및 IIS 구성 편집기를 사용하는 방법에 대한 자세한 내용은 다음 topics 참조하세요.

구성

요소는 <serviceAutoStartProviders> ApplicationHost.config 파일의 전역 수준에서 구성됩니다.

특성

없음

자식 요소

요소 Description
add 선택적 요소입니다.

자동 시작 공급자의 컬렉션에 공급자를 추가합니다.
clear 선택적 요소입니다.

자동 시작 공급자의 컬렉션을 지웁니다.
remove 선택적 요소입니다.

자동 시작 공급자 컬렉션에서 공급자를 제거합니다.

구성 샘플

다음 샘플에서는 <serviceAutoStartProviders> 사용자 지정 자동 시작 공급자를 컬렉션에 추가하는 요소를 표시합니다.

<serviceAutoStartProviders>
   <add name="MyAutostartProvider" type="MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73" />
</serviceAutoStartProviders>

샘플 코드

다음 예제에서는 자동 시작 공급자의 컬렉션에 샘플 공급자를 추가합니다.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/serviceAutoStartProviders /+"[name='MyAutostartProvider',type='MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73']" /commit:apphost

참고

AppCmd.exe 사용하여 이러한 설정을 구성할 때 commit 매개 변수 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 serviceAutoStartProvidersSection = config.GetSection("system.applicationHost/serviceAutoStartProviders");
         ConfigurationElementCollection serviceAutoStartProvidersCollection = serviceAutoStartProvidersSection.GetCollection();

         ConfigurationElement addElement = serviceAutoStartProvidersCollection.CreateElement("add");
         addElement["name"] = @"MyAutostartProvider";
         addElement["type"] = @"MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
         serviceAutoStartProvidersCollection.Add(addElement);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

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

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim serviceAutoStartProvidersSection As ConfigurationSection = config.GetSection("system.applicationHost/serviceAutoStartProviders")
      Dim serviceAutoStartProvidersCollection As ConfigurationElementCollection = serviceAutoStartProvidersSection.GetCollection

      Dim addElement As ConfigurationElement = serviceAutoStartProvidersCollection.CreateElement("add")
      addElement("name") = "MyAutostartProvider"
      addElement("type") = "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
      serviceAutoStartProvidersCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

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

var serviceAutoStartProvidersSection = adminManager.GetAdminSection("system.applicationHost/serviceAutoStartProviders", "MACHINE/WEBROOT/APPHOST");
var serviceAutoStartProvidersCollection = serviceAutoStartProvidersSection.Collection;

var addElement = serviceAutoStartProvidersCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "MyAutostartProvider";
addElement.Properties.Item("type").Value = "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73";
serviceAutoStartProvidersCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

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

Set serviceAutoStartProvidersSection = adminManager.GetAdminSection("system.applicationHost/serviceAutoStartProviders", "MACHINE/WEBROOT/APPHOST")
Set serviceAutoStartProvidersCollection = serviceAutoStartProvidersSection.Collection

Set addElement = serviceAutoStartProvidersCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "MyAutostartProvider"
addElement.Properties.Item("type").Value = "MyAutostartProvider, MyAutostartProvider, version=1.0.0.0, Culture=neutral, PublicKeyToken=426f62526f636b73"
serviceAutoStartProvidersCollection.AddElement(addElement)

adminManager.CommitChanges()