Módulos <modules>
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.
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 |
El elemento <modules>
se incluye en la instalación predeterminada de IIS 7.
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.
Ninguno.
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. |
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>
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.
Nota
No se pueden configurar los valores de <modules>
mediante AppCmd.exe.
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()