<모듈 모듈>
요소는 <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 사용하여 설정을 구성할 <modules>
수 없습니다.
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();
}
}
}
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
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();
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()