App.Config

Scrivere nel App.config a runtime

public void scriviAppConfig(string key, string valore)
{
//Recupero il path fisico del file di configurazione:
string sFileName =
System.IO.Path.GetDirectoryName
(System.Reflection.Assembly.GetExecutingAssembly().Location);

if(!sFileName.EndsWith("\\"))
{
sFileName += "\\";
}

sFileName += "[NOME DEL MIO ESEGUIBILE].exe.config";

//Carico il file XML nel DOM
XmlDocument xmlConfig = new XmlDocument();
xmlConfig.Load(sFileName);

//Accedo agli elementi
XmlNode nodeSettings = xmlConfig.SelectSingleNode("/configuration/appSettings");
XmlNode nodeSetting = nodeSettings.SelectSingleNode("add[@key='" + key + "']");

//Se non trovo il nodo à lo devo aggiungere
if(nodeSettings == null)
{
//Aggiungo il nodo se è nuovo
nodeSetting= xmlConfig.CreateNode(XmlNodeType.Element, "","add", "");
nodeSetting.Attributes.Append(xmlConfig.CreateAttribute("key")).Value= key;
nodeSetting.Attributes.Append(xmlConfig.CreateAttribute("value"));
nodeSettings.AppendChild(nodeSetting);
}
//Valore del nodo
nodeSetting.Attributes["value"].Value = valore;

xmlConfig.Save(sFileName);
}

A differenza del file di configurazione web.Config delle applicazioni web questo codice permette la scrittura di nuove chiavi di configurazione.
 

Indietro