Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > .NET для новичков > Как работать с app.config |
Автор: ddll 20.3.2011, 15:10 |
Здравствуйте столкнулся с елементарной задачкой необходимо записывать последние время выполнения части кода при этом программа должна постоянно висеть в процесах. Мне посоветовали использовать для этого файл настроек app.config. Только как с ним работать все никак не могу разобраться. Я так понял что он имеет xml- формат и что необходимо подключить пространство имен System.Configuration. Только не доконца понял как мне задавать параметры а потом их считывать. праметр который мне надо получать это строка даты прошлого выполнения части кода куда и как ее записывать а потом как получать? Заранее спасибо за помощь! |
Автор: Fitc 20.3.2011, 17:10 |
http://msdn.microsoft.com/ru-ru/library/system.configuration.configurationmanager%28v=VS.100%29.aspx |
Автор: ddll 20.3.2011, 23:17 |
Там много различных вариантов, не до конца понятно а если проще я бы мог это решить и в txt количество последняя строка но хочется уже профессиональнее. Можно чуть подробнее (с примером) а то чет совсем плохо въезжаю пока. Спасибо! |
Автор: LRC 21.3.2011, 09:20 |
using System.Configuration; static private Configuration _conf; _conf = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath); Для примера файлик такой структуры: <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="user" value="alex" /> <add key="pass" value="pass" /> </appSettings> </configuration> И соответственно пару методов бля работы: static public string Name { get { return _conf.AppSettings.Settings["name"].Value; } set { _conf.AppSettings.Settings["name"].Value = value; _conf.Save(ConfigurationSaveMode.Modified); } } static public string User { get { return _conf.AppSettings.Settings["user"].Value; } set { _conf.AppSettings.Settings["user"].Value = value; _conf.Save(ConfigurationSaveMode.Modified); } } Удачи! |
Автор: ddll 21.3.2011, 13:23 |
LRC спасибо большое за ответ но Торможу на мелочах запускаю твой код "В экземпляре объекта не задана ссылка на объект." |
Автор: LRC 21.3.2011, 14:28 |
а в References добавил system.configuration? |
Автор: ddll 21.3.2011, 14:29 |
да |
Автор: LRC 21.3.2011, 14:35 |
Файл *.config существует, с нужной тебе стуркуторой? |
Автор: ddll 21.3.2011, 15:00 |
Да я его создал. |
Автор: LRC 21.3.2011, 15:34 |
видеть бы что там у тебя![]() Попробуй поставить проверку перед открытием if (!File.Exists(Application.ExecutablePath + ".config")) //если файла нет { //создаем его var def_config = new StreamWriter(Application.ExecutablePath + ".config", false, Encoding.UTF8); def_config.Write( "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" + "<configuration>\n" + " <appSettings>\n" + " <add key=\"user\" value=\"блаблабла\" />\n" + " <add key=\"pass\" value=\"блаблабла\" />\n" + " </appSettings>\n" + "</configuration>\n"); def_config.Close(); } _conf = ConfigurationManager.OpenExeConfiguration(Application.ExecutablePath); ... Проверял - все работает. |
Автор: ddll 21.3.2011, 15:56 |
Я понял в чем проблемма спасибо большое у менгя консольное приложение, там все чуть по другому подписываеться.![]() |