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
Abra o Visual Studio com privilégios de administrador.
Clique com o botão direito do mouse na solução ConfigurationChannelFactory (2 projetos) e selecione Propriedades.
Em Propriedades Comuns, selecione Projeto de Inicialização e clique em Vários projetos de inicialização.
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 .
Clique em OK e pressione F5 (ou Ctrl+F5) para executar o exemplo.