запись параметров в файл конфигурации приложения.

sashenka
Дата: 10.12.2004 12:54:04
ребят подскажите как записать параметр в файл конфигурации????
при попытке сделать вот так
[src][/
string s = "Server="+sqlsrvname+";"+"Database="+sqlbdname+"; "+"Trusted_Connection=True;";
ConfigurationSettings.AppSettings.Set("Key0",s);SRC]
ругаеться говорит коллекция только для чтения???
кузя
Дата: 10.12.2004 13:52:57
работаешь, как с обычным XmlDocumet'ом
private const string config="configuration", settings="appSettings";
private const string nodeName="add", keyAttr="key", valAttr="value";
		
public bool SetConfigValue(string key, string val)
{ 
  return(SetConfigValue(Assembly.GetExecutingAssembly().Location+".config", key, val));
}
		
public bool SetConfigValue(string path, string key, string val)
{ XmlDocument doc=new XmlDocument();	
  try
  { doc.Load(path); // загрузить документ из файла конфигурации
    foreach(XmlElement nd in doc[config][settings])
    {  if(nd.Name!=nodeName || nd.GetAttribute(keyAttr)!=key) continue;
       // установить новое значение атрибута
       nd.SetAttribute(valAttr, val);
       doc.Save(path); // сохранить документ в файл конфигурации
       return(true);
    }
    // элемент не нашли - добавить новый
    XmlElement nn=doc.CreateElement(nodeName);
    nn.SetAttribute(keyAttr, key); // ключ
    nn.SetAttribute(valAttr, val); // значение
    doc[config][settings].AppendChild(nn);
    doc.Save(path);   // сохранить документ в файл конфигурации
    return(true);
  }
  catch(Exception ex)
  { /* обработка ошибок */
    return(false);
  }
}