Где мне следует хранить данные конфигурации пользователя?Конкретно путь к файлу данных?

StackOverflow https://stackoverflow.com/questions/2511050

Вопрос

У меня есть приложение, использующее базу данных SQLite, и мне нужна возможность пользователя переместить файл данных и указать приложению, куда оно переместилось.Для создания модели я использовал Entity Framework, и по умолчанию она помещает строку подключения в файл App.Config.Судя по тому, что я прочитал, если я внесу изменения в строку подключения, они не вступят в силу, пока приложение не будет перезапущено.Это кажется немного неуклюжим для моего использования.Я вижу, как я могу инициализировать свою модель и передать специальную строку, но я не уверен, как лучше всего хранить основные пользовательские настройки, такие как эта?Ини, реестр, еще где-то?Я не хочу, чтобы пользователю приходилось каждый раз «открывать» файл, только когда он перемещается, и с этого момента приложение будет пытаться автоматически открыться.

Это было полезно?

Решение

Посмотри на Настройки приложения для обзора того, как создавать пользовательские настройки конфигурации, которые можно сохранить в файле user.config.От реестра более или менее отказались в пользу новой файловой системы конфигурации на основе XML.

Другие советы

Вам не обязательно использовать строку подключения, добавленную в App.Config.На самом деле вы можете пропустить его добавление в мастере EDMX.

Затем вам нужно просто разместить строку подключения в любом месте по вашему выбору и передать ее в конструктор ObjectContext.

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

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

Вы можете создать класс настроек, а затем сериализовать его в XML-файл с заранее заданным именем в расположении, заданном в файле app.config.Затем вы можете самостоятельно контролировать частоту чтения файла в память.Единственный раз, когда вам нужно было перезапустить приложение, было изменение местоположения файла настроек.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top