Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как работать с app.config 
:(
    Опции темы
ddll
Дата 20.3.2011, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Здравствуйте столкнулся с елементарной задачкой необходимо записывать последние время выполнения части кода при этом программа  должна постоянно висеть в процесах.
Мне посоветовали использовать для этого файл настроек app.config. Только как с ним работать все никак не могу разобраться. Я так понял что он имеет xml- формат и что необходимо подключить пространство имен System.Configuration. Только не доконца понял как мне задавать параметры а потом их считывать.

праметр который мне надо получать это строка даты прошлого выполнения части кода куда и как ее записывать а потом как получать?

Заранее спасибо за помощь!
PM MAIL   Вверх
Fitc
Дата 20.3.2011, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 30.1.2010

Репутация: нет
Всего: 4



PM MAIL   Вверх
ddll
Дата 20.3.2011, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Там много различных вариантов, не до конца понятно а если проще я бы мог это решить и в txt количество последняя строка но хочется уже профессиональнее.
Можно чуть подробнее (с примером) а то чет совсем плохо въезжаю пока.
Спасибо!

Это сообщение отредактировал(а) ddll - 20.3.2011, 23:17
PM MAIL   Вверх
LRC
Дата 21.3.2011, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 21.9.2010

Репутация: нет
Всего: нет



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);
            }
        }

Удачи!

Это сообщение отредактировал(а) LRC - 21.3.2011, 09:26
PM MAIL ICQ   Вверх
ddll
Дата 21.3.2011, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



LRC спасибо большое за ответ но
Торможу на мелочах запускаю твой код 
"В экземпляре объекта не задана ссылка на объект."

Это сообщение отредактировал(а) ddll - 21.3.2011, 13:23
PM MAIL   Вверх
LRC
Дата 21.3.2011, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 21.9.2010

Репутация: нет
Всего: нет



а в References добавил system.configuration?
PM MAIL ICQ   Вверх
ddll
Дата 21.3.2011, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



да
PM MAIL   Вверх
LRC
Дата 21.3.2011, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 21.9.2010

Репутация: нет
Всего: нет



Файл *.config существует, с нужной тебе стуркуторой?


PM MAIL ICQ   Вверх
ddll
Дата 21.3.2011, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Да я его создал.
PM MAIL   Вверх
LRC
Дата 21.3.2011, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 21.9.2010

Репутация: нет
Всего: нет



видеть бы что там у тебяsmile
Попробуй поставить проверку перед открытием

 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);
 ...

Проверял - все работает.

Это сообщение отредактировал(а) LRC - 21.3.2011, 15:36
PM MAIL ICQ   Вверх
ddll
Дата 21.3.2011, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Я понял в чем проблемма спасибо большое у менгя консольное приложение, там все чуть по другому подписываеться.
 smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0697 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.