Fábrica de canais de configuração

O exemplo ConfigurationChannelFactory abrange o uso do ConfigurationChannelFactory<TChannel>. O ConfigurationChannelFactory<TChannel> permite o gerenciamento central da configuração do cliente WCF. Isso também pode ser útil em cenários em que a configuração é selecionada ou alterada após o tempo de carregamento do domínio do aplicativo.

Demonstra

ConfigurationChannelFactory<TChannel>

Debate

Este exemplo mostra como usar ConfigurationChannelFactory<TChannel> para adicionar um arquivo de configuração específico a um aplicativo cliente, sem ter que usar o arquivo de configuração de aplicativo padrão.

A amostra consiste em dois projetos. O primeiro projeto é um serviço simples que é executado para responder a mensagens provenientes dos clientes. O segundo projeto é um aplicativo cliente que cria dois ConfigurationChannelFactory<TChannel> objetos usando um ExeConfigurationFileMap para o arquivo de configuração Test.config e os usa para se comunicar com o serviço. Ambos os clientes se comunicam com o serviço usando a configuração especificada em Test.config.

O código a seguir adiciona um arquivo de configuração personalizado a um aplicativo cliente.

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();

Para configurar, compilar e executar o exemplo

  1. Abra o Visual Studio com privilégios de administrador.

  2. Clique com o botão direito do mouse na solução ConfigurationChannelFactory (2 projetos) e selecione Propriedades.

  3. Em Propriedades Comuns, selecione Projeto de Inicialização e clique em Vários projetos de inicialização.

  4. Mova o projeto de Serviço para o início da lista, com a Ação 'Iniciar' e, em seguida, mova o projeto de Cliente após o projeto de Serviço , também com a Ação 'Iniciar', para que o projeto de Cliente seja executado após o projeto de Serviço .

  5. Clique em OK e pressione F5 (ou Ctrl+F5) para executar o exemplo.