2010-03-16 3 views
3

В основном будут запущены несколько экземпляров нашего приложения, но они должны иметь отдельные пользовательские настройки. В настоящее время мы используем для этого «пользовательские настройки», и он отлично подходит для одного экземпляра (для каждого пользователя Windows), но мы хотели бы иметь возможность запускать несколько экземпляров с указанием пути настроек, переданного через командную строку. Есть ли способ сделать это со встроенными настройками .NET или нам придется сворачивать наши собственные?Есть ли способ сказать .NET, где искать файл настроек пользователя?

ответ

1

Я рекомендую разработать класс, который будет обрабатывать настройки приложения и принимает имя файла. Я должен был сделать это для библиотек DLL, которым нужны настройки приложения, а также помогает, если вы хотите сохранить свои настройки в нелокальном местоположении (например, в одном месте в сети).

Это даст вам гораздо больше гибкости - это определенно стоит инвестиций!

0

.Net имеет API-интерфейс поставщика конфигурации. app.config - это только предопределенная реализация этого API. Вы должны изучить API, чтобы либо расширить встроенный API, либо создать свой собственный.

3

Класс LocalFileSettingsProvider, который управляет файлом с пользовательскими настройками, совершенно невозможно настроить. Кто бы ни писал, что, должно быть, был парализован соображениями безопасности. Возможно, не необоснованно.

Если вы хотите придерживаться System.Configuration, вам необходимо реализовать собственный провайдер. Вероятно, лучший способ сделать это - начать с RegistrySettingsProvider sample. Это не поможет вам правильно обрабатывать файлы, но, по крайней мере, вам будет над чем поработать. Может помочь пара заглядов с рефлектором.

0

Я бы предложил хранить информацию о конфигурации в БД и читать на основе пользователя. В любом случае вы должны хранить информацию, специфичную для пользователя, для разных копий. Загружать приложение из базы данных и кэшировать все настройки.

Пользовательский интерфейс пользователя и профиль API для извлечения информации. Очень легко обновлять информацию в БД, а не обрабатывать файлы, которые находятся в системах пользователей.

0

Есть интересный CodeProject article, у которого есть пользовательский поставщик настроек. Вам нужна только небольшая настройка вашего кода, а затем она позволяет сохранять и загружать настройки в предоставленное вами местоположение файла.

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