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


Фабрика настройки каналов

В примере ConfigurationChannelFactory рассматривается использование ConfigurationChannelFactory<TChannel>. 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), чтобы запустить пример.