Общие сведения о параметрах приложений

Обновлен: Ноябрь 2007

В этом разделе обсуждается создание и хранение параметров приложения и пользователей.

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

Параметры приложения позволяют разработчикам сохранять состояния в своих приложениях с помощью очень небольшого количества кода; они являются заменой динамических свойств в предыдущих версиях .NET Framework. Параметры приложения содержат много улучшений по сравнению с динамическими свойствами, которые доступны только для чтения. Кроме того, в динамических свойствах используется позднее связывание и для них требуется дополнительное программирование. Классы динамических свойств были сохранены в .NET Framework, версия 2.0, но они являются классами-оболочками для классов свойств приложения.

Что представляют собой параметры приложений

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

Параметры приложения отвечают обеим потребностям, предоставляя простой способ хранения параметров приложения и пользователей на клиентском компьютере. Использование Visual Studio или редактора кода позволяет задавать значения для заданного свойства путем указания его имени, типа данных и области применения (приложение или пользователь). Можно даже поместить связанные параметры в именованные группы для повышения простоты и удобочитаемости кода. После определения эти параметры сохраняются и считываются обратно в память автоматически во время выполнения. Подключаемая архитектура позволяет изменять механизм сохранения, однако по умолчанию используется локальная файловая система.

Параметры приложения работают путем сохранения данных в формате XML в различные файлы конфигурации (CONFIG-файлы) в зависимости от того, что является областью применения параметра — приложение или пользователь. В большинстве случаев параметры приложения доступны только для чтения; так как они содержат сведения для программы, обычно не возникает необходимость в их перезаписи. Параметры пользователей, напротив, можно и считывать, и записывать во время выполнения, обеспечивая необходимый уровень безопасности даже в условиях частичного доверия. Дополнительные сведения о частичном доверии см. в разделе Общие сведения о безопасности в Windows Forms.

Параметры хранятся в виде XML-фрагментов в файлах конфигурации. Параметры приложения представлены в элементе <application.Settings>, обычно они размещаются в файле app.exe.config, где app — имя основного исполняемого файла. Параметры пользователей представлены элементом <userSettings> и помещаются в файле user.config, где user — имя пользователя, выполняющего приложение. Файл app.exe.config необходимо развернуть вместе с приложением; архитектура параметров создает файлы user.config по запросу, когда приложение в первый раз сохраняет параметры для этого пользователя. Можно также определить блок <userSettings> в файле app.exe.config, чтобы предоставить значения по умолчанию для параметров пользователя.

Пользовательские элементы управления могут сохранять свои собственные параметры с помощью реализации интерфейса IPersistComponentSettings, который предоставляет метод SaveSettings. Элемент управления Windows Forms ToolStrip реализует этот интерфейс, чтобы сохранить положение панели инструментов и ее элементов между сеансами приложения. Дополнительные сведения о пользовательских элементах управления и параметрах приложения см. в разделе Параметры приложения для пользовательских элементов управления.

Ограничения параметров приложения

Нельзя использовать параметры приложений в неуправляемых приложениях, которые размещаются в среде .NET Framework. Параметры не будут работать в таких средах, как надстройки Visual Studio, C++ для Microsoft Office, элементы управления, размещенные в Internet Explorer, или надстройки и проекты Microsoft Outlook.

В настоящее время не удается выполнить привязку к некоторым свойствам в Windows Forms. Наиболее важным примером является свойство ClientSize: привязка к этому свойству вызовет непредсказуемое поведение во время выполнения. Обычно эти проблемы можно обойти путем программного сохранения и загрузки этих параметров.

Параметры приложения не имеют встроенных средств для автоматического шифрования сведений. Никогда не следует хранить конфиденциальные данные, такие как пароли базы данных, в виде открытого текста. Если требуется хранить такие сведения, то разработчик приложения обязан обеспечить надлежащую безопасность хранения. Если требуется хранить строки подключений, рекомендуется использовать встроенную систему безопасности Windows и не прибегать к таким средствам, как жесткое кодирование паролей в URL-адресах. Дополнительные сведения см. в разделе Управление доступом для кода и ADO.NET.

Приступая к работе с параметрами приложения

Если используется Visual Studio, можно определить параметры в конструкторе Windows Forms с помощью свойства (ApplicationSettings) в окне Свойства. При таком определении параметров Visual Studio автоматически создает пользовательский управляемый класс-оболочку, связывающий каждый параметр со свойством класса. Visual Studio также обеспечивает привязку значения параметра к свойству в форме или элементе управления таким образом, чтобы параметры элемента управления автоматически восстанавливались при отображении содержащей их формы и автоматически сохранялись при закрытии формы. Дополнительные сведения см. в разделе Практическое руководство. Создание параметров приложения с помощью конструктора.

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

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

См. также

Задачи

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

Практическое руководство. Проверка параметров приложения

Основные понятия

Архитектура параметров приложения

Параметры приложения для пользовательских элементов управления

Ссылки

ApplicationSettingsBase

SettingsProvider

LocalFileSettingsProvider

IPersistComponentSettings