Adición de módulos <add> element
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.
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 |
El elemento <add>
del 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.
Atributo | Descripción |
---|---|
name |
Atributo de cadena necesario. Especifica el nombre único de un módulo administrado en el servidor web. |
Ninguno.
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()