Leer en inglés

Compartir a través de


Adición de módulos <add> element

Información general

El elemento <add> del elemento <modules> agrega un módulo a la colección de módulos de características que están disponibles en el Administrador de IIS cuando un usuario está conectado a un sitio o a una aplicación.

Nota

Esta colección de módulos es específica del Administrador de IIS y no se debe confundir con la colección de <system.webServer/modules>, que define los módulos que afectan al procesamiento de solicitudes HTTP.

Nota

La configuración del elemento <modules> solo se puede configurar en el archivo Administration.config.

Compatibilidad

Versión Notas
IIS 10.0 El elemento <add> no se modificó en IIS 10.0.
IIS 8.5 El elemento <add> no se modificó en IIS 8.5.
IIS 8.0 El elemento <add> no se modificó en IIS 8.0.
IIS 7.5 El elemento <add> no se modificó en IIS 7.5.
IIS 7.0 El elemento <add> del elemento <modules> se introdujo en IIS 7.0.
IIS 6,0 N/D

Configuración

El elemento <add> del elemento <modules> se incluye en la instalación predeterminada de IIS 7.

Procedimientos

No hay ninguna interfaz de usuario para agregar módulos al elemento <modules> para IIS 7. Para obtener ejemplos de cómo agregar módulos al elemento <modules> mediante programación, vea la sección Ejemplos de código de este documento.

Configuración

Atributos

Atributo Descripción
name Atributo de cadena necesario.

Especifica el nombre único de un módulo administrado en el servidor web.

Elementos secundarios

Ninguno.

Ejemplo de configuración

En el siguiente fragmento de configuración de ejemplo del archivo Administration.config se agrega un proveedor de módulos administrado denominado ContosoProvider al final de la colección <modules>.

Nota

Este fragmento de configuración de ejemplo se ha abreviado para facilitar la lectura.

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

      . . .
      . . .
      . . .

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

En el siguiente fragmento de configuración de ejemplo del archivo Administration.config se especifican elementos <modules> personalizados para el sitio web predeterminado y una aplicación secundaria mediante la definición de elementos <location> únicos que borran las listas de módulos predeterminadas y definen los módulos específicos que se habilitarán respectivamente para cada ubicación. Cuando una administración remota se conecta a cualquier ubicación, el Administrador de IIS solo mostrará las características representadas por los módulos que se enumeran en cada elemento <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>

Código de ejemplo

En los ejemplos de código siguientes se habilita un proveedor de módulos administrado denominado ContosoProvider en el nivel de ubicación global en el archivo Administration.config.

AppCmd.exe

Nota

No se pueden configurar los valores de <modules> mediante 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()