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 fileWeb.config si trova nella directory radice di un'applicazione ASP.NET. Il fileWeb.config specifica informazioni di configurazione specifiche dell'applicazione. È anche possibile impostare le impostazioni di configurazione in base alla directory. A tale scopo, è possibile procedere in due modi:

  • Distribuire più file Web.config alle directory nell'applicazione. Aggiungere un file Web.config nella directory dell'applicazione ASP.NET con impostazioni che sostituiscono le impostazioni in un file diWeb.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 diWeb.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 diMachine.config per forzare le impostazioni di configurazione nelle applicazioni Web ASP.NET e quindi per impedire ai file Web.config di eseguire l'override delle impostazioniMachine.config .

Usare l'elemento location nel file di Machine.config

Per specificare le impostazioni applicabili a un'applicazione Web o a una directory, è possibile aggiungere l'elemento <location> all'elemento <configuration> di un file diMachine.config di sistema. È 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 per singole applicazioni Web.

L'elemento <location> contiene due attributi e allowOverridepath . 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 pathDefault Web Site/MyAppsu .

Quando l'attributo allowOverride è false, i fileWeb.config nelle directory dell'applicazione Web non possono eseguire l'override delle impostazioni specificate nell'elemento <location> . Si tratta di un'impostazione utile negli ambienti in cui è necessario limitare gli sviluppatori di applicazioni nella configurazione di 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 di Web.config

Per specificare le impostazioni che si applicano a un'applicazione o a una directory specifica, aggiungere l'elemento <location> all'elemento <configuration> di un file diWeb.config 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'applicazione Web.config file 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