Cenni preliminari sulla configurazione di ASP.NET

Visual Studio 2010

Aggiornamento: novembre 2007

L'utilizzo delle funzionalità del sistema di configurazione di ASP.NET consente di configurare tutte le applicazioni ASP.NET su un intero server, una sola applicazione ASP.NET o singole pagine o sottodirectory dell'applicazione. È possibile configurare funzionalità, quali le modalità di autenticazione, l'inserimento di pagine nella cache, le opzioni del compilatore, gli errori personalizzati, le opzioni di debug e analisi e così via.

Nelle sezioni riportate di seguito vengono illustrate le funzionalità del sistema di configurazione di ASP.NET.

Per informazioni sulla configurazione delle applicazioni client .NET Framework, vedere Configurazione di applicazioni.

ms178683.alert_note(it-it,VS.100).gifNota:

Le funzionalità del sistema di configurazione di ASP.NET possono essere utilizzate soltanto per le risorse ASP.NET. L'autenticazione basata su form, ad esempio, consente l'accesso esclusivamente ai file ASP.NET, non a quelli statici o ASP (classici), a meno che tali risorse non siano associate a estensioni file ASP.NET. Per configurare le risorse non ASP.NET, è possibile utilizzare le funzionalità specifiche di Internet Information Services (IIS). Per informazioni, vedere Working with the IIS Metabase e IIS Metabase Property Reference.

I dati di configurazione ASP.NET vengono memorizzati in file di testo XML, denominati Web.config, che possono essere presenti in più directory delle applicazioni ASP.NET. Questi file consentono di modificare facilmente i dati di configurazione prima, durante o dopo la distribuzione delle applicazioni sul server. Per creare e modificare i file di configurazione di ASP.NET, è possibile utilizzare editor di testo standard, lo snap-in MMC ASP.NET, lo strumento Amministrazione sito Web o l'API di configurazione di ASP.NET.

Nei file di configurazione di ASP.NET le impostazioni di configurazione delle applicazioni vengono tenute separate dal codice dell'applicazione. In questo modo vengono semplificati l'associazione delle impostazioni alle applicazioni, l'apporto delle modifiche necessarie alle impostazioni in seguito alla distribuzione di un'applicazione e l'estensione dello schema di configurazione.

Per ulteriori informazioni sull'organizzazione dei dati nei file di configurazione di ASP.NET, vedere File di configurazione ASP.NET. Le impostazioni di configurazione disponibili sono illustrate in Impostazioni di configurazione di ASP.NET.

Ereditarietà e gerarchia dei file di configurazione

Ciascun file Web.config applica le impostazioni di configurazione alla propria directory e tutte le relative directory figlio. È possibile definire le impostazioni delle directory figlio in modo che eseguano l'override e la modifica delle impostazioni specificate nelle directory padre. Facoltativamente, è possibile applicare le impostazioni di configurazione di un file Web.config a singoli file o sottodirectory mediante la specifica di un percorso in un elemento location.

L'elemento radice della gerarchia di configurazione di ASP.NET è il file systemroot\Microsoft.NET\Framework\NumeroVersione\CONFIG\Web.config, nel quale sono incluse le impostazioni relative a tutte le applicazioni ASP.NET che eseguono una versione specifica di .NET Framework. Poiché ogni applicazione ASP.NET eredita le impostazioni di configurazione predefinite dal file Web.config principale, è necessario creare file Web.config esclusivamente per le impostazioni che eseguono l'override di quelle predefinite.

ms178683.alert_note(it-it,VS.100).gifNota:

Il file Web.config principale eredita alcune impostazioni di configurazione di base dal file Machine.config, presente nella stessa directory. Non è possibile eseguire l'override di alcune delle impostazioni ereditate nei file Web.config. Per ulteriori informazioni, vedere Gerarchia ed ereditarietà dei file di configurazione di ASP.NET.

In fase di esecuzione, ASP.NET utilizza i file Web.config per calcolare, secondo un ordine gerarchico, un insieme univoco di impostazioni di configurazione per ciascuna richiesta di URL in entrata. Queste impostazioni vengono calcolate una sola volta e quindi memorizzate nella cache del server. ASP.NET rileva le eventuali modifiche apportate ai file di configurazione, quindi estende automaticamente tali modifiche alle applicazioni interessate. Nella maggior parte dei casi, le applicazioni vengono riavviate. Se un file di configurazione presente nella gerarchia viene modificato, le impostazioni di configurazione gerarchiche vengono automaticamente ricalcolate e reinserite nella cache. Perché le modifiche siano effettive, non è necessario riavviare il server IIS, a meno che non sia stata modificata la sezione processModel.

Per ulteriori informazioni sul funzionamento della gerarchia di configurazione di ASP.NET, vedere Gerarchia ed ereditarietà dei file di configurazione di ASP.NET e Scenari di configurazione ASP.NET.

Modifica diretta dei file di configurazione

Per modificare direttamente i file di configurazione, è possibile utilizzare un editor di testo o un editor XML. Per informazioni sulla sintassi corretta da utilizzare, vedere gli argomenti di riferimento nelle sezioni di configurazione in Impostazioni di configurazione di ASP.NET e Impostazioni di configurazione generali (ASP.NET). Per ulteriori informazioni, vedere Modifica dei file di configurazione ASP.NET.

Elementi aggiuntivi di configurazione del file Web.config di ASP.NET 3.5

Il file Web.config di un'applicazione ASP.NET destinata alla versione 3.5 di .NET Framework contiene elementi di configurazione assenti nei file Web.config delle versioni precedenti. Questo file Web.config esteso viene inoltre creato quando si apre un sito Web esistente e lo si aggiorna in modo da essere destinato alla versione 3.5 di .NET Framework. In tal caso, Visual Studio aggiorna il file Web.config dell'applicazione in modo da includere gli elementi di configurazione aggiuntivi.

Nella tabella seguente sono elencati i nuovi elementi di configurazione e le modifiche agli elementi di configurazione rispetto alle versioni precedenti di .NET Framework.

Elemento di configurazione

Modifiche introdotte nella versione 3.5

system.codedom

Nuova sezione: specifica come il modello Code Document Object Model (CodeDOM) di .NET Framework deve compilare in fase di esecuzione il codice sorgente.

configSections

Nuova sezione: definisce la sezione system.web.extensions utilizzata da ASP.NET AJAX per definire come i servizi Web vengono chiamati dagli script client. Per ulteriori informazioni, vedere la classe Servizi Web in ASP.NET AJAX.

assemblies

Nuova sezione dell'elemento compilation: specifica l'insieme di assembly a cui si fa riferimento quando le pagine ASP.NET vengono compilate. I nuovi assembly introdotti nella versione 3.5 di ASP.NET sono inclusi in questa sezione.

namespaces

Sezione aggiornata: questa sezione specifica quali spazi dei nomi vengono importati per impostazione predefinita. Sono stati aggiunti gli spazi dei nomi Linq, Linq e Generic.

controls

Sezione aggiornata: analogamente al modo in cui la direttiva Page Direttive per le pagine Web ASP.NET registra i controlli in una determinata pagina, in questa sezione vengono registrati gli assembly che contengono controlli e viene fornito un prefisso per fare riferimento al controllo. Per impostazione predefinita in questa sezione vengono registrati i controlli contenuti nell'assembly Extensions, fra cui il controllo ListView e i controlli correlati ad AJAX.

system.webServer

In questa sezione vengono sostituiti i gestori HTTP correlati ad AJAX e i moduli aggiunti nelle sezioni httpHandlers e httpModules. Questa sezione rende i gestori e i moduli disponibili a IIS 7.0 quando quest'ultimo è in esecuzione in modalità integrata.

assemblyBinding

Sezione aggiornata: in questa sezione si richiede al runtime di utilizzare il framework ASP.NET AJAX appartenente alla versione 3.5 di ASP.NET anziché utilizzare una versione precedente di tale framework.

Nel sistema di configurazione di ASP.NET sono disponibili strumenti che semplificano la configurazione dell'applicazione rispetto all'utilizzo di un editor di testo in quanto includono la funzionalità di rilevamento degli errori.

Snap-in MMC ASP.NET

Lo snap-in Microsoft Management Console (MMC) per ASP.NET costituisce un sistema efficace per modificare le impostazioni di configurazione di ASP.NET a tutti i livelli su un server Web locale o remoto. Lo snap-in Microsoft Management Console (MMC) per ASP.NET utilizza l'API di configurazione ASP.NET ma, grazie alla presenza di un'interfaccia utente grafica, consente di modificare facilmente le impostazioni di configurazione. Lo strumento supporta inoltre le funzionalità dell'API di configurazione di ASP.NET, da cui dipendono la possibilità di ereditare le impostazioni dalle applicazioni Web e la gestione delle dipendenze tra i livelli della gerarchia di configurazione.

ms178683.alert_note(it-it,VS.100).gifNota:

Per utilizzare lo snap-in MMC ASP.NET, è necessario accedere al computer con un account provvisto di privilegi amministrativi.

Lo snap-in MMC ASP.NET viene visualizzato come scheda ASP.NET nella finestra delle proprietà di una directory virtuale.

Per ulteriori informazioni, vedere Snap-in MMC per ASP.NET.

Strumento Amministrazione sito Web

Lo strumento Amministrazione sito Web consente la gestione delle impostazioni di configurazione di un sito Web a chiunque disponga di privilegi amministrativi per il sito in questione. Si tratta di uno strumento di facile utilizzo, progettato per semplificare la modifica grafica delle impostazioni di configurazione utilizzate più di frequente nei singoli siti Web. Poiché utilizza un'interfaccia basata sul browser, questo strumento consente di modificare in remoto le impostazioni del sito Web, caratteristica che risulta particolarmente utile per l'amministrazione di un sito già distribuito a un server Web di produzione, ad esempio un sito Web host.

Lo strumento Amministrazione sito Web presenta numerose differenze rispetto allo snap-in MMC ASP.NET. Lo snap-in MMC, ad esempio, è ideale per la configurazione a livello di amministratore, in quanto consente di accedere all'intera gerarchia dei file di configurazione presenti sul server Web e non soltanto alle impostazioni di configurazione dei singoli server Web. Un'altra differenza è costituita dal fatto che per utilizzare lo snap-in MMC ASP.NET è necessario essere un amministratore, mentre lo strumento Amministrazione sito Web consente ai proprietari di siti Web di configurare il file Web.config file presente nella directory principale dei siti per cui dispongono di privilegi amministrativi. Infine, non è possibile utilizzare lo snap-in per amministrare IIS in remoto, mentre l'interfaccia browser dello strumento Amministrazione sito Web consente la configurazione remota a partire dalla versione 6.0 di IIS.

Lo strumento Amministrazione sito Web è caratterizzato da un'interfaccia composta dalle schede riportate di seguito, in cui sono raggruppate le impostazioni:

  • Scheda Protezione, contenente le impostazioni che consentono di proteggere le risorse delle applicazioni Web e di gestire i ruoli e gli account utente.

  • Scheda Profilo, contenente le impostazioni per la gestione della modalità di raccolta sul sito Web delle informazioni relative ai visitatori.

  • Scheda Applicazione, contenente le impostazioni che consentono di gestire gli elementi di configurazione che influiscono sulle applicazioni ASP.NET.

  • Scheda Provider, contenente le impostazioni per l'aggiunta, la modifica, l'eliminazione, il testing o l'assegnazione dei provider di applicazioni.

Dalla versione 2.0 di .NET Framework in poi, lo strumento Amministrazione sito Web viene installato automaticamente. Per informazioni sul funzionamento di questo strumento, vedere Strumento Amministrazione sito Web di ASP.NET.

Strumenti della riga di comando

In .NET Framework sono inclusi strumenti della riga di comando che consentono di eseguire operazioni di configurazione specifiche. Lo strumento Aspnet_regiis.exe consente, ad esempio, di specificare la versione di .NET Framework da utilizzare per una determinata applicazione ASP.NET. Per ulteriori informazioni, vedere Strumenti di .NET Framework.

Nel sistema di configurazione di ASP.NET è disponibile un'interfaccia gestita completa con cui è possibile configurare le applicazioni ASP.NET a livello di codice, senza che sia necessario modificare direttamente i file di configurazione XML. L'API di configurazione di ASP.NET offre i seguenti vantaggi:

  • Semplifica le attività amministrative mediante una visualizzazione integrata dei dati provenienti da tutti i livelli della gerarchia di configurazione.

  • Supporta attività di distribuzione, quali la creazione di configurazioni e la configurazione di più computer con un solo script.

  • Fornisce una singola interfaccia di programmazione per gli sviluppatori che compilano applicazioni ASP.NET, script e applicazioni console, strumenti di gestione basati sul Web e snap-in MMC.

  • Impedisce agli sviluppatori e agli amministratori di definire impostazioni di configurazione non valide.

  • Consente l'estensione dello schema di configurazione. È possibile definire nuovi parametri di configurazione e programmare i gestori delle sezioni di configurazione per elaborarli.

  • Fornisce metodi statici che consentono di ottenere informazioni di configurazione dall'applicazione attualmente in esecuzione, e metodi non statici che consentono di ottenere informazioni di configurazione da un'applicazione separata. L'utilizzo dei metodi statici consente un'esecuzione più rapida dell'applicazione, ma è limitato solo all'applicazione per la quale vengono richiesti i dati di configurazione.

Per ulteriori informazioni, vedere API di configurazione di ASP.NET.

Il sistema di configurazione di ASP.NET consente di proteggere i file di configurazione dall'accesso da parte di utenti non autorizzati. \ASP.NET configura IIS in modo da impedire l'accesso a qualsiasi browser che richieda di accedere al file Machine.config o Web.config. L'errore HTTP 403 per accesso non consentito viene restituito a qualsiasi browser che tenta di richiedere direttamente un file di configurazione.

Non è inoltre consentito che i file di configurazione di un'applicazione ASP.NET accedano alle impostazioni di configurazione di altre applicazioni ASP.NET, a meno che l'applicazione di configurazione non venga eseguita in condizioni di attendibilità completa con un account provvisto delle autorizzazioni di lettura del file di configurazione presente nell'altra applicazione.

Per ulteriori informazioni, vedere Protezione della configurazione di ASP.NET e Crittografia delle informazioni di configurazione utilizzando la configurazione protetta.

Mostra: