Serviço WCF retornando outro serviço (fábrica de serviços?)

Estamos usando o WCF para comunicação entre um cliente e um aplicativo de servidor. O aplicativo cliente possui muitos recursos que requerem comunicação com o servidor - e escolhemos implementá-lo em várias classes (separação de responsabilidade)

Por enquanto, estamos criando novos pontos de extremidade e contratos de serviço do WCF para cada objeto - Faturamento, Contabilidade, Gerenciamento de Conteúdo, etc. Isso causa muita configuração de ponto de extremidade no cliente e no servidor (com possíveis problemas de configuração incorreta ao passar para o teste e plataformas de produção).

Gostaria de saber se posso definir um único ponto de extremidade do WCF que possa fornecer várias implementações de contato de serviço. Nossos arquivos de configuração conteriam um único endpoint (para a fábrica de serviços) e eu poderia solicitar serviços diferentes, especificando a interface do serviço em que estou interessado.

por exemplo.

using (IServiceClientFactory serviceClientFactory = new RealProxyServiceClientFactory())
            {
                // This is normal WCF proxy object creation.
                IServiceFactory serviceFactory = serviceClientFactory.CreateInstance<IServiceFactory>("");

                // This is what we would like to do
                IInvoiceService invoiceService = serviceFactory.getService(typeof(IInvoiceService));

                invoiceService.executeOperation(data);
            }

A pista é uma configuração de terminal única por par cliente / servidor, em vez de uma configuração de terminal por contato de serviço que gostaria de disponibilizar.

Isso é possível?

questionAnswers(3)

yourAnswerToTheQuestion