Управление параметрами приложения (.NET)

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

Примечание.

Параметры приложения заменяют динамические свойства, используемые в более ранних версиях Visual Studio.

Каждый параметр приложения должен иметь уникальное имя. Имя может быть любым сочетанием букв, чисел или подчеркивания. Однако имя не может начинаться с числа, и у него не может быть пробелов. Для изменения имени служит свойство Name.

Параметры приложения могут храниться в виде любого типа данных, который может быть сериализован в формат XML или имеет метод TypeConverter, реализующий ToString/FromString. Наиболее распространенными типами являются String, Integerи Boolean. Вы также можете хранить значения как , Objectили как Colorстрока подключения.

Параметры приложений также содержат значение. Значение задается с помощью свойства Value и должно соответствовать типу данных параметра.

Кроме того, параметры приложений могут быть связаны со свойством формы или элемента управления во время разработки.

Существуют два типа параметров приложений в зависимости от области действия:

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

  • Параметры, область пользователей, можно использовать для получения сведений, таких как сохранение последней позиции формы или предпочтения шрифта. Пользователи могут изменять эти значения во время выполнения.

Можно изменить тип параметра с помощью свойства Scope .

Система работы с проектами хранит параметры приложений в двух файлах XML:

  • Файл app.config, созданный во время разработки при создании первого параметра приложения

  • Файл user.config, который создается во время выполнения, когда пользователь, который запускает приложение, изменяет значение любого параметра пользователя.

Обратите внимание, что изменения параметров пользователя не записываются на диск, если приложение специально не вызывает метод для этого.

Создание параметров приложения во время разработки

Во время разработки можно создать параметры приложения двумя способами:

  • Используйте страницу Параметры конструктора проектов.

  • Используйте окно "Свойства" для формы или элемента управления, что позволяет привязать параметр к свойству.

При создании параметра область приложения (например, базы данных строка подключения или ссылки на ресурсы сервера) Visual Studio сохраняет его в файле app.config с тегом<applicationSettings>. (Строки подключения сохраняются под тегом <connectionStrings> .)

При создании параметра область пользователя (например, шрифта по умолчанию, домашней страницы или размера окна) Visual Studio сохраняет его в файле app.config с тегом<userSettings>.

Важно!

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

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

Рассмотрите возможность использования функции защищенной конфигурации для шифрования секретной информации в файле конфигурации. Дополнительные сведения см. в разделе Защита сведений о подключении.

Примечание.

Так как для библиотек классов нет модели файлов конфигурации, параметры приложения не применяются для проектов библиотек классов. Исключением является проект DLL среды выполнения набор средств Visual Studio для Office, который может иметь файл конфигурации.

Использование настраиваемых файлов параметров

Для удобства управления группами параметров в проект можно добавить индивидуальные файлы настроек. Содержащиеся в одном файле параметры загружаются и сохраняются как единое целое. Хранение параметров в отдельных файлах для часто и редко используемых групп позволяет сэкономить время на загрузке и сохранении параметров.

Например, в проект можно добавить файл Special Параметры.settings. Хотя класс SpecialSettings не предоставлен в пространстве имен My, функция Просмотр кода позволяет считывать индивидуальный файл параметров, содержащий Partial Class SpecialSettings.

Конструктор Параметры сначала ищет файл Параметры.settings, создаваемый системой проекта. Этот файл Параметры.settings — это файл по умолчанию, отображаемый конструктором проектов на вкладке Параметры. Файл Параметры.settings находится в папке "Мой проект" для проектов Visual Basic и в папке "Свойства" для проектов Visual C#. Затем конструктор проектов ищет другие файлы параметров в корневой папке проекта. Таким образом, индивидуальный файл параметров следует помещать туда же. Если добавить файл с расширением .settings в другое место проекта, конструктор проектов не сможет найти его.

Чтение и изменение параметров приложения во время выполнения в Visual Basic

В проектах Visual Basic доступ к параметрам приложения во время выполнения можно получить с помощью объекта My.Settings. На странице Параметры нажмите кнопку "Вид кода", чтобы просмотреть файл Параметры.vb. Файл Settings.vb определяет класс Settings, который позволяет обрабатывать эти события в классе параметров: SettingChanging, PropertyChanged, SettingsLoaded и SettingsSaving. Обратите внимание, что класс Settings в файле Settings.vb является разделяемым классом, который отображает только принадлежащий пользователю код, а не весь сгенерированный класс. Дополнительную информацию о доступе к параметрам приложения с помощью объекта My.Settings см. в разделе Доступ к параметрам приложения (.NET Framework).

Значения любых параметров в пользовательской области (например, положение формы), изменяемые пользователем во время выполнения, хранятся в файле user.config. Обратите внимание, что значения по умолчанию по-прежнему сохраняются в файл app.config.

Если во время выполнения во время выполнения изменяются какие-либо параметры область пользователя, например при тестировании приложения, и хотите сбросить эти параметры в значения по умолчанию, нажмите кнопку "Синхронизировать".

Рекомендуется использовать My.Settings объект и файл параметров по умолчанию для доступа к параметрам. Рекомендуется использовать конструктор Параметры для назначения свойств параметрам и, кроме того, параметры пользователя автоматически сохраняются перед завершением работы приложения. Однако приложение Visual Basic может получить доступ к настройкам напрямую. В этом случае необходим доступ к классу MySettings и использование настраиваемого файла SETTINGS в корневой папке проекта. Перед завершением приложения необходимо сохранить параметры пользователя, как описано в следующем разделе.

Чтение и изменение параметров приложения во время выполнения в языке C#

На языках, отличных от Visual Basic, например C#, необходимо напрямую получить доступ к классу Settings , как показано в следующем примере Visual C#.

Properties.Settings.Default.FirstUserSetting = "abc";

Нужно явным образом вызывать метод Save этого класса-оболочки, чтобы сохранить параметры пользователя. Обычно это делается в обработчике Closing событий основной формы. В приведенном ниже примере C# показан вызов метода Save.

Properties.Settings.Default.Save();

Общие сведения о доступе к параметрам приложений с помощью класса Settings см. в разделе Общие сведения о параметрах приложений (.NET Framework). Информацию об итерации параметров см. в этой записи форума.