Использование app.config как для конфигурации службы / клиента WCF, так и для настроек конкретного приложения.

Когда я разрабатываю службу / клиент WCF с файлом конфигурации, создается новый файл app.config с разделом system.serviceModel. Поскольку в моем приложении я должен сохранять и загружать параметры приложения (цвета, расположение файлов журнала и т. Д.), Я прочитал документацию по класс ConfigurationManager: эти настройки также хранятся в app.config файле в appSettings раздел. Таким образом, параметры конфигурации как для службы / клиента WCF, так и для параметров конкретного приложения загружаются из одного и того же файла app.config, но из разных разделов.

Это тип использования файла app.config? Или мне следует использовать другой файл для настроек конкретного приложения? Более того, я не разбирался в использовании configSections ...


person enzom83    schedule 15.01.2012    source источник
comment
Вы хотите, чтобы пользователи могли изменять раздел system.serviceModel на клиенте?   -  person Jim Rhodes    schedule 15.01.2012
comment
Может быть, так в будущем, но теперь мои сомнения были относительно сферы использования app.config.   -  person enzom83    schedule 15.01.2012
comment
По крайней мере, на стороне клиента я предпочитаю выполнять настройку всей службы в коде. Пользователь действительно может все испортить, изменив файл конфигурации.   -  person Jim Rhodes    schedule 15.01.2012


Ответы (1)


Ситуация, которую вы описываете, - это именно то, как работает файл app.config.

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

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

ConfigSections определены на вашем компьютере для всех стандартных элементов конфигурации. Вы также можете использовать ConfigSections для создания собственных настраиваемых разделов, которые можно разместить в app.config.

Вот некоторая документация, как это сделать.

person Wouter de Kort♦    schedule 15.01.2012