Condividi tramite


Impostare le impostazioni di configurazione specifiche dell'applicazione e della directory in un'applicazione ASP.NET

Questo articolo descrive come impostare impostazioni di configurazione specifiche dell'applicazione e specifiche della directory in ASP.NET.

Versione originale del prodotto: ASP.NET
Numero KB originale: 815174

Riepilogo

Il file Web.config si trova nella directory radice di un'applicazione ASP.NET. Il file Web.config specifica le informazioni di configurazione specifiche dell'applicazione. È anche possibile impostare le impostazioni di configurazione per ogni directory. È possibile procedere in due modi:

  • Distribuire più file Web.config nelle directory dell'applicazione. Aggiungere un file Web.config nella directory dell'applicazione ASP.NET con impostazioni che sostituiscono le impostazioni in un file Web.config di livello superiore o nel file di configurazione del computer di sistema (Machine.config).

  • Aggiungere le impostazioni per directory o per file direttamente al file Web.config dell'applicazione. Questo metodo usa un singolo file Web.config per attivare le impostazioni di configurazione per directory. È anche possibile usare questo metodo nel file Machine.config per forzare le impostazioni di configurazione nelle applicazioni Web ASP.NET e quindi arrestare l'override delle impostazioni machine.config dei file Web.config.

Usare l'elemento location nel file Machine.config

Per specificare le impostazioni applicabili a un'applicazione Web o a una directory, è possibile aggiungere l'elemento all'elemento <location> <configuration> di un file System Machine.config . È utile quando si centralizzano le impostazioni di configurazione in un singolo file. È utile anche negli ambienti di hosting Web per imporre impostazioni di configurazione specifiche nelle singole applicazioni Web.

L'elemento <location> contiene due attributi, path e allowOverride. L'attributo path definisce il sito o la directory virtuale coperta dalle impostazioni di configurazione. Per specificare che le impostazioni nell'elemento <location> si applicano al sito Web predefinito, impostare l'attributo path su Default Web Site. Per specificare che le impostazioni si applicano all'applicazione denominata MyApp nel sito Web predefinito, impostare l'attributo path su Default Web Site/MyApp.

Quando l'attributo allowOverride è false, i file Web.config nelle directory dell'applicazione Web non possono eseguire l'override delle impostazioni specificate nell'elemento <location> . È un'impostazione utile negli ambienti in cui è necessario limitare gli sviluppatori di applicazioni nel modo in cui configurano un'applicazione Web. Nell'esempio seguente viene illustrata una parte di un file Machine.config . Il file richiede l'autenticazione per accedere all'applicazione MyApp nel sito Web predefinito e non può essere sottoposto a override dalle impostazioni in un file Web.config .

<configuration>
    <location path="Default Web Site/MyApp" allowOverride="false">
        <system.web>
            <authorization>
                <allow users="?" />
            </authorization>
        </system.web>
    </location>
</configuration>

Usare l'elemento location nel file Web.config

Per specificare le impostazioni applicabili a un'applicazione o a una directory specifica, aggiungere l'elemento all'elemento <location> <configuration> di un file Web.config dell'applicazione. L'elemento <location> contiene in genere un <system.web> elemento e altri elementi di configurazione esattamente come vengono usati nel file Web.config . L'attributo path dell'elemento <location> specifica la directory virtuale o il nome del file in cui si applicano gli elementi di configurazione del percorso. L'esempio seguente mostra parte di un file Web.config dell'applicazione che specifica messaggi di errore personalizzati per la directory virtuale del forum.

<configuration>
    <location path="forum" >
        <system.web>
            <customErrors mode="RemoteOnly" defaultRedirect="forum-error.aspx">
                <error statusCode="404" redirect="forum-file-not-found.aspx" />
            </customErrors>
        </system.web>
    </location>
</configuration>

Riferimenti