9 messaggi dal 26 marzo 2008
Ciao a tutti, sto sviluppando un servizio WIndows che esegue ad intervalli regolari dei plugin dinamici (delle dll) sulla base della presenza o meno della dll in una certa directory. Ogni dll ha i suoi parametri che per ora inserisco nel file di configurazione geenrale del servizio modificandolo quando serve. Ogni dll ha una propria sezione custom a cui io accedo ad esmepio con:

IDictionary sourceConfig = (IDictionary)
ConfigurationManager.GetSection("CUCM6AD/CUCM6AppUserDevPoolMapping");

Vorrei utilizzare invece dei cofnig file per ogni dll da copiare poi nella directory controllata dal servizio, in modo tale da rendere effttivamente dinamico il caricamento delle dll e dei relativi parametri.
Ho provato a modificrae il codice per cercare inun file specifico:ù

ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = System.IO.Directory.GetCurrentDirectory() + @"\FARSync_CUCM6ADBL.dll.config";
System.Configuration.Configuration config =
ConfigurationManager.OpenMappedExeConfiguration(fileMap,
ConfigurationUserLevel.None);
ConfigurationSection section = config.GetSection("CUCM6AD/CUCM6AppUserDevPoolMapping");
Ma poi non riesco a fare il cast con IDictionary che mi ritorna molto utile...
Ho provato anche con linkedConfiguration nel fil generale ma non funziona con le sezioni custom....
Qualche idea ?
Grazie, Stefania.
Non riesci a fare il cast perchè ti da errore, ma quale??
Sicuro che la section custom sia un Dictionary???

Nel caso potresti fare un file xml invece di un config e leggere l aconfigurazione da lì con System.Xml.

Ciauz

imperugo
Microsoft MVP
myblog : http://www.tostring.it
9 messaggi dal 26 marzo 2008
si la custom section è definita così:

<section name="CUCM6AppUserDevPoolMapping"
type="System.Configuration.DictionarySectionHandler, system, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null" />

se utilizzo il metodo statico della classe ConfigurationManager
IDictionary sourceConfig = (IDictionary)
ConfigurationManager.GetSection("ENI/CUCM6AppUserDevPoolMapping");
funziona tutto bene, ma se utilizzo il metodo OpenMappedExeConfiguration che ritorna un oggetto COnfiguration, lo stesso codice non funziona (erore in fase di compilazione, invalid cast...):
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = System.IO.Directory.GetCurrentDirectory() + @"\FARSync_CUCM6ADBL.dll.config";
System.Configuration.Configuration config =
ConfigurationManager.OpenMappedExeConfiguration(fileMap,
ConfigurationUserLevel.None);
ConfigurationSection section = config.GetSection("CUCM6AD/CUCM6AppUserDevPoolMapping");

Si potrei utilizzare un file xml al posto di un config, ma dovrei fare delle personalizzazioni per ogni dll, invece con il config, dovrei cambiare solo poche righe di codice ed uguali per tutte. spero di essere stata chiara.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
    In primo piano

    I più letti di oggi

    Media
    In evidenza
    MISC