Leer en inglés

Compartir a través de


Módulos <modules>

Información general

El elemento <modules> especifica las características disponibles en el Administrador de IIS cuando un usuario está conectado a un sitio o a una aplicación. El elemento <modules> funciona junto al elemento <moduleProviders> de la siguiente manera:

  • El elemento <moduleProviders> especifica la lista de proveedores de módulos para el Administrador de IIS.
  • El elemento <modules> especifica la lista de módulos que aparecerán como características cuando un usuario se conecta a un sitio o una aplicación mediante el Administrador de IIS.

Puede configurar qué módulos estarán disponibles para sitios web individuales mediante etiquetas <location>, de modo que cada sitio web o aplicación se pueda personalizar de acuerdo a las necesidades. Por ejemplo, podría configurar la administración de nivel de sitio para un sitio web a fin de permitir solo un pequeño subconjunto de características y configurar una aplicación secundaria para un conjunto más amplio de características.

Nota

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

Nota

Los valores del elemento <modules> solo se puede configurar en el archivo Administration.config.

Compatibilidad

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

Configuración

El 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

Ninguno.

Elementos secundarios

Atributo Descripción
add Elemento opcional. Agrega un módulo a la colección de módulos para el Administrador de IIS.
clear Elemento opcional. Quita todas las referencias a módulos de la colección de módulos primarios.
remove Elemento opcional. Quita una referencia a un módulo de la colección de módulos para el Administrador de IIS.

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()