Поделиться через


Добавление элемента add> Modules <

Обзор

Элемент <add> элемента <modules> добавляет модуль в коллекцию модулей компонентов, доступных в диспетчере IIS при подключении пользователя к сайту или приложению.

Примечание.

Эта коллекция модулей зависит от диспетчера IIS и не должна путаться с <коллекцией system.webServer/modules> , которая определяет модули, влияющие на обработку HTTP-запросов.

Примечание.

Параметры элемента можно настроить только в <modules> файле конфигурации Администратор istration.config.

Совместимость

Версия Примечания.
IIS 10.0 Элемент <add> не был изменен в IIS 10.0.
IIS 8.5 Элемент <add> не был изменен в IIS 8.5.
IIS 8.0 Элемент <add> не был изменен в IIS 8.0.
IIS 7.5 Элемент <add> не был изменен в IIS 7.5.
IIS 7.0 Элемент <add> элемента <modules> был представлен в IIS 7.0.
IIS 6,0 Н/П

Настройка

Элемент <add> элемента <modules> включен в установку IIS 7 по умолчанию.

Инструкции

Для добавления модулей в <modules> элемент IIS 7 отсутствует пользовательский интерфейс. Примеры добавления модулей в <modules> элемент программным способом см. в разделе "Примеры кода" этого документа.

Настройка

Атрибуты

Атрибут Description
name Обязательный строковый атрибут.

Указывает уникальное имя управляемого модуля на веб-сервере.

Дочерние элементы

Нет.

Образец конфигурации

В следующем примере фрагмента конфигурации из файла конфигурации Администратор istration.config добавляется поставщик управляемого <modules> модуля ContosoProvider в конец коллекции.

Примечание.

Этот пример конфигурации сокращен для упрощения чтения.

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

      . . .
      . . .
      . . .

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

В следующем примере фрагмента конфигурации из файла конфигурации Администратор istration.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 можно использовать на глобальном уровне расположения в файле конфигурации Администратор istration.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()