Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Динамически изменяемые настройки


Автор: User239 9.8.2007, 22:22
Предположим, есть два приложения, выполняющих вместе одну задачу. В одном из них можно во время выполнения изменять некоторые настройки типа там путь к какому-то файлу и т.д. Причём эти же настройки используются вторым приложением. Для всех пользователей настройки должны быть одинаковы. Как лучше всего и грамотнее всего организовать хранение конфигурации? Я так понимаю стандартный app.config не катит, так как настройки динамически изменяются. Хранение в папке Application Data меняет настройки у одного пользователя, но не меняет у другого. Единственный выход, который я пока нашёл, это ручная сериализация. Может есть другие способы? 

Автор: mihryak 9.8.2007, 23:47
Remoting в руки smile А там, пожалуй, стоит использовать IPC-каналы. А конкретных реализаций можно напридумывать море, зависит от специфики и приложений, и задач.
(это если при одновременном выполнении приложений требуется, чтобы изменения конфигурации первым приложением сразу отразились на втором)

Автор: User239 10.8.2007, 00:18
Да не, возможно неправильно выразился  smile 
Скажем так, чтобы настройки второго приложения обновлялись при его загрузке. В общем, можно просто как я уже писал использовать например XmlSerializer. Есть ли какие-то может встроенные средства типа ConfigurationManager-a, выполняюшие авшеописанную задачу?

Автор: LuMee 10.8.2007, 07:20
Цитата(User239 @ 10.8.2007,  00:18)
Да не, возможно неправильно выразился  smile 
Скажем так, чтобы настройки второго приложения обновлялись при его загрузке. В общем, можно просто как я уже писал использовать например XmlSerializer. Есть ли какие-то может встроенные средства типа ConfigurationManager-a, выполняюшие авшеописанную задачу?

А какие еще встроенные средства, помимо XmlSerializer, тебе нужны? Описываешь просто класс, объекты которого будут хранить все нужные настройки, делаешь его сериализуемым - и все. Для верности можно вынести его в отдельную сборку, используемую обоими приложениями. Дальнейшая работа с такими настройками проста, как сатиновые трусы: надо сохранить - сериализуешь объект и сохраняешь на диск, надо загрузить - десериализуешь объект из xml-файла. Оба действия требуют 3-4 строчки кода

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)