2010-01-28 4 views
1

Мое приложение исторически использовало ini-файл на том же файловом сервере, что и данные, которые он потребляет, предназначено для хранения на пользовательские настройки, чтобы они перемещались, если пользователь входит в систему с нескольких компьютеров. Для этого у нас был файл, который выглядел так:Доступ к файлу настроек/настроек на сервере

[domain\username1] 
value1=foo 
value2=bar 

[domain\username2] 
value1=foo 
value2=baz 

Для этой версии мы пытаемся перенести подальше от использования ини файлов из-за ограничения в win32 ини функции чтения/записи без необходимости писать пользовательские INI файловый парсер.

Я посмотрел файлы app.config и пользовательские настройки, и ни один из них не подходит. Первый должен находиться в той же папке, что и исполняемый файл, и последний не предоставляет никаких средств для создания новых значений во время выполнения.

Есть ли встроенный параметр, который мне не хватает, или мой лучший путь для написания собственного класса предпочтений и использование XML-сериализации структуры для его написания?

ответ

1

Я обнаружил, что самый быстрый способ здесь - просто создать XML-файл, который делает то, что вы хотите, а затем использовать XSD.exe для создания класса и сериализации данных. Это быстро, и несколько строк кода и работают достаточно хорошо.

+0

Это тот вывод, к которому я пришел, но хотел удостовериться, что я не забывал что-то скрытое в той части рамки, на которую я никогда не смотрел. –

0

Вы не проверили или не слышали о nini, который является сторонним ini-обработчиком. Я нашел его довольно простым в использовании и простым в чтении/записи в ini-файле.

Для вашего удобства это означало бы очень небольшие изменения и было бы проще в использовании.

Преобразование из ini в другой формат необходимо взвешивать, например, при ударе кода, простоте программирования (в стороне от изменения кода для использования xml может быть легко, но оно ограничено тем, что вы не можете писать на него) , Какая польза в том, чтобы срывать коды ini и заменить его на xml, - это вопрос, который вы должны решить?

Может случиться так, что вам придется сменить его и адаптировать код ... но ... для ожидаемого времени, конечно, ini немного устарело и устарело, но оно все еще я не могу видеть, что Microsoft отказывается от поддержки ini API, поскольку она очень жива и используется за кулисами для установки драйверов ... подумайте о файлах inf, используемых для указания, куда идут драйверы и как они установлены ... it здесь, чтобы остаться, когда производители драйверов приняли его и являются де-факто стандартным способом распределения драйверов ...

Надеюсь, это поможет, С уважением, Tom.

+0

Что вы понимаете, не имея возможности написать xml? Я читал/писал файлы данных xml в течение многих лет. –

+0

@ Dan: Я просто думаю, что Xml слишком усложнен для системных настроек, поэтому простота с ini, я имею в виду, можете ли вы написать ему во время выполнения, чтобы применить изменения через настройку конфигурации на лицевой стороне? – t0mm13b

Смежные вопросы