Elementi di configurazione estraibili in web.config
Domanda
sto imparando come utilizzare System.Configuration in .NET e vorrei sapere se c'è un modo per infinitamente impostazioni di configurazione nido nel mio file web.config.
Diciamo che ho due tipi di oggetti - una pagina, e un gruppo di pagine. A Page rappresenta una vera e propria pagina sul mio sito, e di un gruppo di pagine rappresenta un insieme di pagine e (possibilmente) altri PageGroups.
Il mio file web.config potrebbe contenere qualcosa come:
<pagegroup name="outer_group"> <page name="page1" url="page1.htm" /> <page name="page2" url="page2.htm" /> <pagegroup name="middle_group"> <page name="page3" url="page3.htm" /> <pagegroup name="inner_group"> ...and so on... </pagegroup> </pagegroup> </pagegroup>
La mia comprensione limitata di classi di configurazione mi porta a credere che questo non è ciò che essi sono stati progettati per -. Ma spero che mi sbaglio
E 'possibile utilizzare ConfigurationElementCollections e ConfigurationElements (o qualsiasi altro ConfigurationClasses applicabile) in questo modo?
Soluzione
Hai sostanzialmente due diversi tipi di elementi per affrontare:
-
un
ConfigurationSectionGroup
è un contenitore per altri elementi, più in particolare sezioni di configurazione (o altri gruppi sezione configurazione). Il gruppo di sezioni in sé non ha alcuna proprietà di configurazione o attributi - è solo un contenitore per sezioni di configurazione -
la
ConfigurationSection
è l'elemento che può contenere attributi, elementi, collezioni ecc con le impostazioni di configurazione reali che si desidera memorizzare
Per quanto ne so, è possibile gruppi di sezioni di configurazione nido profondo come è necessario, ma non si può nido nulla all'interno di una sezione di configurazione.
Per una grande intro e un sacco di informazioni di sfondo, controlla serie in tre parti di Jon Rista su .NET 2.0 di configurazione su CodeProject.
- Svelare i misteri di .NET 2.0 configurazione
- Decodifica i misteri di .NET 2.0 configurazione
- Cracking i misteri di .NET 2.0 configurazione
Altamente raccomandato, ben scritto e estremamente disponibile!