영어로 읽기

다음을 통해 공유


<모듈 모듈>

개요

요소는 <modules> 사용자가 사이트 또는 애플리케이션에 연결된 경우 IIS Manager에서 사용할 수 있는 기능을 지정합니다. 요소는 <modules> 다음과 같은 방식으로 요소와 함께 <moduleProviders> 작동합니다.

  • 요소는 <moduleProviders> IIS 관리자에 대한 모듈 공급자 목록을 지정합니다.
  • 요소는 <modules> 사용자가 사이트 또는 애플리케이션을 IIS Manager에 연결할 때 기능으로 표시되는 모듈 목록을 지정합니다.

각 웹 사이트 또는 애플리케이션을 필요에 맞게 사용자 지정할 수 있도록 태그를 사용하여 <location> 개별 웹 사이트에 사용할 수 있는 모듈을 구성할 수 있습니다. 예를 들어 작은 기능 하위 집합만 허용하도록 웹 사이트에 대한 사이트 수준 관리를 구성하고 더 광범위한 기능 집합에 대한 자식 애플리케이션을 구성할 수 있습니다.

참고

이 모듈 컬렉션은 IIS 관리자와 관련이 있으며 HTTP 요청 처리에 영향을 주는 모듈을 정의하는 system.webServer 모듈> 컬렉션과< 혼동해서는 안 됩니다.

참고

요소의 <modules> 설정은 Administration.config 파일에서만 구성할 수 있습니다.

호환성

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

설치 프로그램

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

방법

IIS 7의 요소에 모듈을 추가하기 <modules> 위한 사용자 인터페이스가 없습니다. 프로그래밍 방식으로 요소에 모듈을 추가하는 방법의 예는 <modules> 이 문서의 코드 샘플 섹션을 참조하세요.

구성

특성

없음

자식 요소

attribute Description
add 선택적 요소입니다. IIS 관리자용 모듈 컬렉션에 모듈을 추가합니다.
clear 선택적 요소입니다. 부모 모듈 컬렉션에서 모듈에 대한 모든 참조를 제거합니다.
remove 선택적 요소입니다. IIS 관리자용 모듈 컬렉션에서 모듈에 대한 참조를 제거합니다.

구성 샘플

Administration.config 파일에서 발췌한 다음 샘플 구성은 ContosoProvider라는 관리되는 모듈 공급자를 컬렉션의 <modules> 끝에 추가합니다.

참고

이 샘플 구성 발췌는 읽기 쉽습니다.

<location path=".">
   <modules>
      <add name="Modules" />
      <add name="Handlers" />

      . . .
      . . .
      . . .

      <add name="ContosoProvider" />
   </modules>
</location>

Administration.config 파일에서 발췌한 다음 샘플 구성은 기본 모듈 목록을 지우고 각 위치에 대해 각각 사용하도록 설정될 특정 모듈을 정의하는 고유한 <location> 요소를 정의하여 기본 웹 사이트 및 자식 애플리케이션에 대한 사용자 지정 <modules> 요소를 지정합니다. 원격 관리가 두 위치에 연결되면 IIS 관리자는 각 <location> 요소에 나열된 모듈로 표시되는 기능만 표시합니다.

<location path="Default Web Site">
   <modules>
      <clear />
      <add name="DefaultDocument" />
      <add name="DirectoryBrowse" />
   </modules>
</location>

<location path="Default Web Site/ContosoApplication">
   <modules>
      <clear />
      <add name="DefaultDocument" />
      <add name="DirectoryBrowse" />
      <add name="Handlers" />
   </modules>
</location>

샘플 코드

다음 코드 예제에서는 ContosoProvider라는 관리되는 모듈 공급자를 Administration.config 파일의 전역 위치 수준으로 사용하도록 설정합니다.

AppCmd.exe

참고

AppCmd.exe 사용하여 설정을 구성할 <modules> 수 없습니다.

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.GetAdministrationConfiguration();
         ConfigurationSection modulesSection = config.GetSection("modules");

         ConfigurationElementCollection modulesCollection = modulesSection.GetCollection();
         ConfigurationElement addElement = modulesCollection.CreateElement("add");
         addElement["name"] = @"ContosoProvider";
         modulesCollection.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.GetAdministrationConfiguration
      Dim modulesSection As ConfigurationSection = config.GetSection("modules")

      Dim modulesCollection As ConfigurationElementCollection = modulesSection.GetCollection
      Dim addElement As ConfigurationElement = modulesCollection.CreateElement("add")
      addElement("name") = "ContosoProvider"
      modulesCollection.Add(addElement)

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject("Microsoft.ApplicationHost.WritableAdminManager"); 
adminManager.CommitPath = "MACHINE/WEBROOT"; 
adminManager.SetMetadata("pathMapper", "AdministrationConfig");
var modulesSection = adminManager.GetAdminSection("modules", "MACHINE/WEBROOT"); 

var modulesCollection = modulesSection.Collection;
var addElement = modulesCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "ContosoProvider";
modulesCollection.AddElement(addElement);

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT"
adminManager.SetMetadata "pathMapper", "AdministrationConfig"
Set modulesSection = adminManager.GetAdminSection("modules", "MACHINE/WEBROOT")

Set modulesCollection = modulesSection.Collection
Set addElement = modulesCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "ContosoProvider"
modulesCollection.AddElement(addElement)

adminManager.CommitChanges()