2010-02-05 16 views
5

Abbiamo un progetto un po 'complesso che gli sviluppatori originali si dividono in più progetti per scopi organizzativi. Ciò che significa per me è che ho un sito ASP.Net che ha un web.config e contiene tutti i tipi di buone impostazioni, e un altro progetto che compila in una DLL che ha il proprio file .config, app.config.. Confusione file confusi in rete

Nella DLL, sarebbe molto bello poter accedere a tutte le AppSettings che ho nel file web.config di ASP.Net proejct.

È possibile? È una buona pratica? Non voglio davvero copiare e incollare le stesse informazioni e devo mantenerle manualmente in sincronia tra i 2 (in realtà potrebbero esserci fino a 20 - è un grande progetto e qualcuno l'ha organizzato a un livello assurdo). File config .

Eventuali suggerimenti o migliori pratiche?

risposta

3

Questo è in realtà il comportamento predefinito - ConfigurationManager.AppSettings legge l'attuale web.config per tutte le DLL.
Talvolta i file .config vengono creati per altri progetti (o dll), ma non vengono utilizzati nel sito e devono essere uniti in web.config.

+0

Grazie mille! Stavo cercando di testare, ma avevo paura di perdere alcune strane combinazioni di circostanze durante la distribuzione. –

0

System.Web.Configuration.WebConfigurationManager.AppSettings accede a web.config da qualsiasi libreria di classi. Assicurati di aggiungere un riferimento a System.Configuration e System.Web a qualsiasi libreria che necessiti di accedere a questo.

E per rispondere alla domanda sulla prassi standard, sì, è comune memorizzare la chiave/i valori dell'applicazione nel web.config per mantenere le cose centralizzate nelle applicazioni Web e nei siti Web ASP.NET. Nel tuo web.config usa semplicemente la sezione <appSettings> come faresti normalmente nei file app.settings.

+0

Hai ragione, ma perché dovresti fare riferimento a 'System.Web'? Puoi semplicemente consultare 'System.Configuration', e tutto dovrebbe andare bene, es. ottenere un'impostazione dell'app tramite 'ConfigurationManager.AppSettings'. –

+0

Abbastanza giusto. Tendo ad usare le funzionalità aggiuntive presenti in WebConfigurationManager specifiche per le app Web, quindi preferisco. Se semplicemente trovare coppie nome-valore è tutto ciò di cui l'OP ha bisogno, ConfigurationManager potrebbe essere la soluzione migliore ... –

+0

Buona discussione dei due gestori e del loro uso: http://stackoverflow.com/questions/698157/whats-the- differenza-tra-la-WebConfigurationManager-e-il-configurationma/698.163 –