Поделиться через


Производство канала настройки

В примере ConfigurationChannelFactory рассматривается использование ConfigurationChannelFactory<TChannel>объекта ConfigurationChannelFactory. Позволяет ConfigurationChannelFactory<TChannel> централизованно управлять конфигурацией клиента WCF. Это также можно использовать в случаях, когда конфигурация выбирается или изменяется после времени загрузки домена приложения.

Что демонстрирует

ConfigurationChannelFactory<TChannel>

Обсуждение

В образце описывается использование ConfigurationChannelFactory<TChannel> для добавления определенного файла конфигурации к клиентскому приложению без использования файла конфигурации приложения по умолчанию.

Образец состоит из двух проектов. Первый проект представляет собой простую службу, запускаемую в ответ на сообщения, передаваемые от клиентов. Второй проект - это клиентское приложение, которое создает два объекта ConfigurationChannelFactory<TChannel> с использованием ExeConfigurationFileMap для файла конфигурации Test.config и использует их для взаимодействия со службой. Оба клиента взаимодействуют со службой с использованием конфигурации, указанной в Test.config.

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

ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = "Test.config";
Configuration newConfiguration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);

ConfigurationChannelFactory<ICalculatorChannel> factory1 = new ConfigurationChannelFactory<ICalculatorChannel>("endpoint1", newConfiguration, new EndpointAddress("http://localhost:8000/servicemodelsamples/service"));
ICalculatorChannel client1 = factory1.CreateChannel();

Настройка, сборка и выполнение образца

  1. Откройте Visual Studio с правами администратора.

  2. Щелкните правой кнопкой мыши решение ConfigurationChannelFactory (2 проекта) и выберите "Свойства".

  3. В разделе "Общие свойства" выберите "Запуск проекта" и выберите " Несколько запускаемых проектов".

  4. Переместите проект службы в начало списка с действием "Пуск", а затем переместите проект клиента после проекта службы, а также с действием "Пуск", чтобыклиент выполнялся после проекта службы.

  5. Нажмите кнопку "ОК", а затем нажмите клавишу F5 (или CTRL+F5), чтобы запустить пример.