2010-08-25 8 views

risposta

16

Tutti vengono memorizzati nella cache.

La configurazione viene letta una volta all'avvio. Con web.config, IIS controlla le modifiche ai file e riavvia l'applicazione.

4

Web.config (esclusi i file di configurazione esterni) viene letto all'avvio dell'applicazione. Alcune impostazioni di configurazione hanno un comportamento a cascata. Ad esempio, la sezione system.web/authorization può essere sovrascritta da configs a livelli più profondi.

ASP.NET monitora il web.config per le modifiche. Quando cambia, l'applicazione Web è costretta a riavviarsi. Morale è che le impostazioni di web.config sono memorizzate nella cache per la vita dell'applicazione.

8

OK, quindi mancherà una caratteristica KEY nell'area del file Web.Config.

Sì, web.config viene memorizzato nella cache e la modifica del contenuto del file riavvierà l'app Web. E tutti gli utenti connessi, , non saranno felici, perché dovranno "riconnettersi" a-nuovo, forse perdendo le informazioni desiderate.

Quindi, utilizzare un file personalizzato esterno per l'AppSettings, come segue:

<appSettings configSource="MyCustom_AppSettings.config"/> 

Poi, nel file MyCustom_AppSettings.config file di , avete le impostazioni, in quanto tale, questo esempio ha:

<appSettings> 

    <!-- AppSecurity Settings --> 
    <add key="AppStatus_Active" value="Active"/> 

    <!-- Application Info Settings --> 
    <add key="AppID" value="25"/> 
    <add key="AppName" value="MyCoolApp"/> 
    <add key="AppVersion" value="20120307_162344"/> 
</appSettings> 

Ora, se avete bisogno di aggiungere, modificare o rimuovere un appSetting, quando lo si modifica in questo file il cambiamento è quasi istantanea nel vostro web-app mA (e qui è il MIGLIORE parte), la tua app NON RESTART!

Tutto rimane kosher tranne quelle impostazioni che hai aggiunto/modificato/rimosso nel file .config esterno.

E, sì, la stessa cosa può fare per la sezione come segue:

<connectionStrings configSource="MyCustomApp_ConnectionStrings.config"/> 

e il file MyCustomApp_ConnectionStrings.config ha tutte le stringhe di connessione necessarie. Modifica una stringa di connessione nel file .config esterno e inizia a essere utilizzata immediatamente e senza riavvio dell'app Web.

Le impostazioni configSource sono eccezionali quando è necessario distribuire lo sviluppo, il test e la produzione su caselle diverse e devono essere necessarie le impostazioni pertinenti a tale casella/ambiente.

Quindi, ora lo sai (qualcosa che è stato intorno per 7+ anni).

È così semplice. Veramente.

KC

+0

Davvero utile! –

Problemi correlati