Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Общие сведения
Элемент <modules> задает функции, доступные в диспетчере IIS, когда пользователь подключен к сайту или приложению. Элемент <modules> работает с элементом <moduleProviders> следующим образом:
- Элемент
<moduleProviders>задает список поставщиков модулей для диспетчера IIS. - Элемент
<modules>задает список модулей, которые будут отображаться в виде функций при подключении пользователя к сайту или приложению к диспетчеру IIS.
Вы можете настроить, какие модули будут доступны для отдельных веб-сайтов с помощью <location> тегов, чтобы каждый веб-сайт или приложение можно было настроить в соответствии с вашими потребностями. Например, можно настроить управление на уровне сайта для веб-сайта, чтобы разрешить только небольшое подмножество функций, а дочернее приложение — для более широкого набора функций.
Примечание
Эта коллекция модулей связана с диспетчером IIS и не следует путать с <коллекцией модулей> system.webServer, которая определяет модули, влияющие на обработку HTTP-запросов.
Примечание
Параметры в элементе <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 по умолчанию.
Инструкции
Отсутствует пользовательский интерфейс для добавления модулей в <modules> элемент iis 7. Примеры программного добавления модулей в элемент см. в <modules> разделе Примеры кода этого документа.
Конфигурация
Атрибуты
Отсутствует.
Дочерние элементы
| attribute | Описание |
|---|---|
add |
Необязательный элемент. Добавляет модуль в коллекцию модулей для диспетчера IIS. |
clear |
Необязательный элемент. Удаляет все ссылки на модули из родительской коллекции модулей. |
remove |
Необязательный элемент. Удаляет ссылку на модуль из коллекции модулей для диспетчера IIS. |
Образец конфигурации
В следующем примере фрагмента конфигурации из файла Administration.config добавляется поставщик управляемого <modules> модуля ContosoProvider в конец коллекции.
Примечание
Этот пример конфигурации сокращен для упрощения чтения.
<location path=".">
<modules>
<add name="Modules" />
<add name="Handlers" />
. . .
. . .
. . .
<add name="ContosoProvider" />
</modules>
</location>
В следующем примере фрагмента конфигурации из файла Administration.config указываются пользовательские <modules> элементы для веб-сайта по умолчанию и дочернего приложения путем определения уникальных <location> элементов, которые очищают списки модулей по умолчанию и определяют конкретные модули, которые будут включены соответственно для каждого расположения. Когда удаленное администрирование подключается к одному из расположений, диспетчер 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> параметры с помощью AppCmd.exe.
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()