2010-11-02 9 views
5

In ASP.NET, .NET 4.0, MEF, ho inserito tutte le parti in una cartella e le ho importate utilizzando DirectoryCatalog. Va tutto bene. Alcune parti hanno configurazioni correlate. Non voglio metterli in web.config. Forse un buon approccio è un file config accanto alla parte con un .config aggiunto alla fine.Configurazione parti MEF, dove memorizzare?

Qual è il modo migliore per memorizzare la configurazione della parte?

risposta

3

Sono riuscito a creare un file di configurazione separato per ogni DLL e sono riuscito a leggere correttamente le chiavi. Ma quando ho provato a creare una sezione di configurazione personalizzata, non ero in grado di leggere dalla configurazione dell'app della DLL. Ha sempre voluto leggere dal consumatore MEF exe.

Ecco il codice per leggere dal dll consumato proprio app config

var appConfig = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location); 
    return appConfig.AppSettings.Settings["SomeKeyName"].Value; 

Dal momento che non ero in grado di leggere da una sezione di configurazione personalizzata, ho finito per usare XML e serializzazione la sezione di configurazione personalizzata per un oggetto. Dato che stai ricevendo le informazioni sul server di posta, non avrai problemi con l'app.config.

+1

Quello che ho dimenticato di dire è che è un progetto asp.net. Poiché so che gli assembly non vengono eseguiti dalla cartella bin, invece una copia di essi verrebbe eseguita da una cartella temporanea. – Xaqron