#475 - Più sezioni di configurazione attraverso il nodo <configSections /> del web.config

La configurazione delle applicazioni ASP.NET è possibile attraverso un file particolare, il web.config.
In genere si inseriscono le chiavi all'interno del nodo <appSettings>, ma è possibile creare sezioni personalizzate, utilizzando il nodo configSection.

<configuration>
  <configSections>
    <sectionGroup name="sito">
      <section name="admin" type="System.Configuration.NameValueSectionHandler" />
      <section name="database" type="System.Configuration.NameValueSectionHandler" />
    </sectionGroup>
  </configSections>

  <sito>
    <admin>
      <add key="Username" value="admin" />
      <add key="Password" value="admin" />
    </admin>

    <database>
      <add key="connectionString" value="Server=local;Trusted_Connection=True;Database=master" />
      <add key="forumConnectionString" value="Server=local;Trusted_Connection=True;Database=forum" />
    </database>
  </sito>

</configuration>

Qual è il vantaggio di una separazione concettuale delle impostazioni, come in questo esempio?
Semplice: ogni sezione (o anche più pezzi dell'applicazione) possono condividere un unico web.config (con il vantaggio di un controllo centralizzato) ma avere impostazioni specifiche, separate e quindi di più facile comprensione.

Per leggere il valore contenuto, basterà utilizzare questo codice:

<%

Dim NVC As NameValueCollection = CType(ConfigurationSettings.GetConfig("sito/database"), NameValueCollection)
Dim strConn as String = NVC("connectionString")

%>

Se utilizzato all'interno di una classe, dovrà essere importato il riferimento al namespace System.Configuration.

Per approfondimenti:
#370 - Leggere la stringa di connessione di un database nel web.config
http://www.aspitalia.com/liste/usag/script.aspx?ID=370

Configurare ASP.NET con il web.config
http://www.aspitalia.com/articoli/aspplus/webconfig.aspx


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

torin.it scrive:
#475 - Più sezioni di configurazione attraverso il nodo <configSections /> del web.config

Ciao,non riesco a far funzionare lo script. L'errore che mi viene restituito è il seguente...
lunedì 21 marzo 2005 | 2 risposte
milettaluca scrive:
venerdì 26 novembre 2004 | 3 risposte

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC