Moduli <>

Panoramica

L'elemento <modules> specifica le funzionalità disponibili in Gestione IIS quando un utente è connesso a un sito o a un'applicazione. L'elemento <modules> funziona con l'elemento <moduleProviders> nel modo seguente:

  • L'elemento <moduleProviders> specifica l'elenco dei provider di moduli per Gestione IIS.
  • L'elemento <modules> specifica l'elenco di moduli che verranno visualizzati come funzionalità quando un utente si connette a un sito o a un'applicazione a Gestione IIS.

È possibile configurare i moduli che saranno disponibili per singoli siti Web usando <location> tag, in modo che ogni sito Web o applicazione possa essere personalizzato in base alle proprie esigenze. Ad esempio, è possibile configurare la gestione a livello di sito per un sito Web per consentire solo un piccolo subset di funzionalità e configurare un'applicazione figlio per un set più ampio di funzionalità.

Nota

Questa raccolta di moduli è specifica di Gestione IIS e non deve essere confusa con la raccolta di moduli> system.webServer, che definisce i moduli che influiscono sull'elaborazione< delle richieste HTTP.

Nota

Le impostazioni nell'elemento <modules> possono essere configurate solo nel file Administration.config.

Compatibilità

Versione Note
IIS 10.0 L'elemento <modules> non è stato modificato in IIS 10.0.
IIS 8,5 L'elemento <modules> non è stato modificato in IIS 8.5.
IIS 8,0 L'elemento <modules> non è stato modificato in IIS 8.0.
IIS 7,5 L'elemento <modules> non è stato modificato in IIS 7.5.
IIS 7.0 L'elemento <modules> è stato introdotto in IIS 7.0.
IIS 6.0 N/D

Installazione

L'elemento <modules> è incluso nell'installazione predefinita di IIS 7.

Procedure

Non è disponibile alcuna interfaccia utente per l'aggiunta di moduli all'elemento <modules> per IIS 7. Per esempi di come aggiungere moduli all'elemento <modules> a livello di codice, vedere la sezione Esempi di codice di questo documento.

Configurazione

Attributi

Nessuno.

Elementi figlio

Attributo Descrizione
add Elemento facoltativo. Aggiunge un modulo alla raccolta di moduli per Gestione IIS.
clear Elemento facoltativo. Rimuove tutti i riferimenti ai moduli dalla raccolta di moduli padre.
remove Elemento facoltativo. Rimuove un riferimento a un modulo dalla raccolta di moduli per Gestione IIS.

Esempio di configurazione

Nell'estratto di configurazione di esempio seguente del file Administration.config viene aggiunto un provider di moduli gestito denominato ContosoProvider alla fine della <modules> raccolta.

Nota

Questo estratto di configurazione di esempio è stato abbreviato per facilitare la lettura.

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

      . . .
      . . .
      . . .

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

Nell'estratto di configurazione di esempio seguente del file Administration.config vengono specificati elementi personalizzati <modules> per il sito Web predefinito e un'applicazione figlio definendo elementi univoci <location> che cancellano gli elenchi di moduli predefiniti e definiscono i moduli specifici che verranno abilitati rispettivamente per ogni posizione. Quando un'amministrazione remota si connette a una delle due posizioni, Gestione IIS visualizzerà solo le funzionalità rappresentate dai moduli elencati in ogni <location> elemento.

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

Codice di esempio

Gli esempi di codice seguenti abilitano un provider di moduli gestiti denominato ContosoProvider al livello di posizione globale nel file Administration.config.

AppCmd.exe

Nota

Non è possibile configurare <modules> le impostazioni usando 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()