Procedura: configurare la sezione <system.webServer> per IIS 7.0
Aggiornamento: novembre 2007
La sezione system.webServer del file Web.config specifica le impostazioni di IIS 7.0 per l'applicazione Web. La sezione system.WebServer è un elemento figlio della sezione configuration. Per ulteriori informazioni, vedere IIS 7.0: system.webServer Section Group (IIS Settings Schema) (informazioni in lingua inglese).
Di seguito vengono riportati alcuni esempi di impostazioni del server Web che è possibile configurare nel gruppo di configurazione system.WebServer:
Il documento predefinito che il server Web restituisce a un client quando una richiesta non include una risorsa specifica (elemento defaultDocument).
Le impostazioni di compressione per le risposte (elemento httpCompression).
Le intestazioni personalizzate (elemento customHeaders della sezione httpProtocol).
I moduli (elemento modules).
I gestori (elemento handlers).
Alcune impostazioni della sezione system.webServer si applicano unicamente nella modalità integrata e non nella modalità classica di IIS 7.0. In particolare, i gestori e i moduli di codice gestito specificati nella sezione system.WebServer del file Web.config vengono ignorati se l'applicazione viene eseguita in modalità classica. Al contrario, i gestori e i moduli di codice gestito devono essere definiti come nelle versioni precedenti di IIS, utilizzando gli elementi httpModules e httpHandlers della sezione system.web.
In questo argomento vengono illustrate tre attività di configurazione comuni che richiedono modifiche alla sezione system.webServer:
Aggiunta di un file predefinito, in modo che quando un URL di richiesta non include un file specifico, viene utilizzato il file predefinito.
Registrazione di un modulo di codice gestito.
Aggiunta di un'intestazione di risposta personalizzata.
Configurazione di un file predefinito
Quando un URL di richiesta non include un file specifico dell'applicazione Web, in IIS 7.0 viene utilizzato un file predefinito.
Per configurare un file predefinito
Se l'applicazione non ha un file Web.config, crearne uno in Visual Studio o con un editor di testo.
Per ulteriori informazioni, vedere Modifica dei file di configurazione ASP.NET.
Se il file Web.config non contiene già una sezione system.webServer, crearne una nell'elemento configuration, come mostrato nell'esempio seguente:
<configuration> <system.webServer> </system.webServer> </configuration>
Creare un elemento defaultDocument all'interno dell'elemento system.webServer.
Creare un elemento files all'interno dell'elemento defaultDocument.
Creare un elemento add nell'elemento files e nell'attributo value, specificare il percorso e il nome del file predefinito.
Nell'esempio seguente viene mostrata una sezione system.webServer configurata per utilizzare il file Products.aspx come file predefinito.
<configuration> <system.webServer> <defaultDocument> <files> <add value="Products.aspx" /> </files> </defaultDocument> </system.webServer> </configuration>
Registrazione di un modulo di codice gestito
Un modulo di codice gestito viene chiamato a ogni richiesta e consente di personalizzare la richiesta o la risposta.
Per configurare un modulo di codice gestito personalizzato
Se l'applicazione non ha un file Web.config, crearne uno in Visual Studio o con un editor di testo.
Per ulteriori informazioni, vedere Modifica dei file di configurazione ASP.NET.
Se il file Web.config non contiene già una sezione system.webServer, crearne una nell'elemento configuration, come mostrato nell'esempio seguente:
<configuration> <system.webServer> </system.webServer> </configuration>
Creare un elemento modules all'interno dell'elemento system.webServer.
Creare un elemento add nell'elemento modules, e negli attributi name e type specificare il modulo personalizzato.
Il nome effettivo e il tipo dipendono dal modulo che si sta aggiungendo. Nell'esempio seguente viene mostrato come aggiungere un modulo personalizzato denominato CustomModule, che viene implementato come tipo Samples.CustomModule.
<configuration> <system.webServer> <modules> <add name="CustomModule" type="Samples.CustomModule" /> </modules> </system.webServer> </configuration>
Aggiungere un attributo precondition alla registrazione del modulo e impostarne il valore su managedHandler.
La precondizione fa in modo che il modulo sia richiamato solo per le richieste delle risorse dell'applicazione ASP.NET, ad esempio file aspx o gestori gestiti. Sono esclusi i file statici, come i file htm.
Nell'esempio riportato di seguito viene illustrato l'aspetto della sezione di configurazione.
<configuration> <system.webServer> <modules> <add name="CustomModule" type="Samples.CustomModule" precondition="managedHandler" /> </modules> <defaultDocument> <files> <add value="Products.aspx" /> </files> </defaultDocument> </system.webServer> </configuration>
Configurazione di un'intestazione di risposta personalizzata
Un'intestazione di risposta personalizzata consente di inviare informazioni specifiche dell'applicazione al browser. Ad esempio, è possibile aggiungere un'intestazione Content-Language per descrivere la lingua utilizzata nel corpo della pagina Web. A questo scopo, fornire uno o più valori di lingua e paese/regione, ad esempio en-US (inglese USA) o en-GB (inglese UK).
Per configurare un'intestazione di risposta personalizzata
Se l'applicazione non ha un file Web.config, crearne uno in Visual Studio o con un editor di testo.
Per ulteriori informazioni, vedere Modifica dei file di configurazione ASP.NET.
Se il file Web.config non contiene già una sezione system.webServer, crearne una nell'elemento configuration, come mostrato nell'esempio seguente:
<configuration> <system.webServer> </system.webServer> </configuration>
Creare un elemento httpProtocol all'interno dell'elemento system.webServer.
Creare un elemento customHeaders all'interno dell'elemento httpProtocol.
Creare un tag add all'interno dell'elemento customHeaders, e negli attributi name e value specificare l'intestazione personalizzata.
Il nome e il valore effettivi dipendono dalla funzione dell'intestazione nell'applicazione. Nell'esempio riportato di seguito viene illustrato come aggiungere un'intestazione personalizzata chiamata CustomHeader il cui valore è CustomHeader.
<configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="CustomHeader" value="CustomHeader" /> <customHeaders> </httpProtocol> </system.webServer> </configuration>
Vedere anche
Attività
Procedura dettagliata: configurazione delle applicazioni ASP.NET in IIS 7.0
Concetti
Spostamento di un'applicazione ASP.NET da IIS 6.0 a IIS 7.0