Come fare quando le AppSettings cambiano?

...Grande! Ho finalmente pronta la beta del mio prossimo articolo, "Creare una pagina per il download di file", spero possa piacere... ho visto che oggi sul forum l'argomento è stato toccato, http://www.ugidotnet.org/forum/b.asp?m=22982. Ancora un paio di riletture e poi lo invio a contributors@ugidotnet.org... questa sera se riesco finisco di preparare il codice di esemmpio...

l'artikolo lo potrei anke kiamare "l'artikolo piu lungo" visto che in fondo è stato un parto portarlo a termine... nato kome tip in aprile, dopo il consiglio di trasformalo in artikolo me lo sono trascinato fino ad oggi prima di tirare fuori una versione leggibile, quindi spero ke tanto sforzo venga premiato e l'artikolo piaccia ;p

beh, nel frattemppo vi alliento con la mie classi per gestire i settaggi dell'applicazione!

class ConfigWatcher{
  
 //struttura per singletone
 static ConfigWatcher instance = null;
 static ConfigWatcher(){
  instance = new ConfigWatcher(); 
 }
 public static ConfigWatcher Instance{
  get {return instance;}
 }
 //-
 FileSystemWatcher fw;
 public event FileSystemEventHandler Changed {
  add {fw.Changed += value;}
  remove {fw.Changed -= value;}
 }
 private ConfigWatcher(){
  FileInfo f = new FileInfo(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);      
  fw = new FileSystemWatcher(f.DirectoryName, f.Name);
  fw.NotifyFilter = NotifyFilters.LastWrite;
  fw.EnableRaisingEvents=true;    
 }
}
class AppConfig
{
 static AppConfig(){
  ReloadConfig();
  ConfigWatcher.Instance.Changed += new FileSystemEventHandler(OnConfigChanged);
 }
 static string connectionString;
 //...il file di configurazione è stato modificato
 static void OnConfigChanged(object sender, FileSystemEventArgs e){
  ReloadConfig();
 }
 //...lettura del file di configurazione
 static void ReloadConfig(){  
  NameValueCollection appSettings = ConfigurationSettings.AppSettings;
  connectionString = appSettings.Get("connectionString"); 
 } 
 static public string ConnectionString{get{return connectionString;}}
 
}

posted @ martedì 9 settembre 2003 01:56

Print
Comments have been closed on this topic.
«ottobre»
domlunmarmergiovensab
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456