Estendendo a camada de modelo de serviço e o ServiceHost

A camada do modelo de serviço é responsável por extrair mensagens de entrada dos canais subjacentes, traduzi-las em invocações de método no código do aplicativo e enviar os resultados de volta para o chamador. As extensões do modelo de serviço modificam ou implementam o comportamento de execução ou comunicação e os recursos que envolvem funcionalidade de cliente ou dispatcher, comportamentos personalizados, interceptação de mensagens e parâmetros e outras funcionalidades de extensibilidade.

Nesta seção

Estendendo clientes
Descreve as interfaces que podem interceptar e modificar o runtime do cliente, bem como as classes nas quais você pode inserir suas extensões personalizadas em aplicativos de cliente. Por exemplo, você pode executar o registro em log personalizado de mensagens do cliente, executar a serialização personalizada de mensagens e assim por diante.

Estendendo distribuidores
Descreve as interfaces que podem interceptar e modificar o runtime do serviço, bem como as classes nas quais você pode inserir suas extensões personalizadas em aplicativos de serviço. Por exemplo, você pode executar o registro de log personalizado de serviços, validação de mensagens do lado do serviço, expedição personalizada e assim por diante.

Objetos extensíveis
Descreve os cinco objetos extensíveis e o padrão IExtensibleObject<T>. O padrão de objeto extensível é usado para estender classes de runtime existentes com nova funcionalidade ou para adicionar um novo estado a um objeto. As extensões, anexadas a um dos objetos extensíveis, permitem comportamentos em estágios muito diferentes no processamento a fim de acessar o estado compartilhado e a funcionalidade anexada a um objeto extensível comum que podem acessar.

Configurando e estendendo o runtime com comportamentos
Para alterar as configurações ou inserir extensões no runtime do WCF, use Comportamentos. O WCF inclui comportamentos implementados pelo sistema a fim de controlar a limitação, a instanciação e muitos outros aspectos de serviços e operações. Esta seção descreve como criar seus próprios comportamentos personalizados e como disponibilizá-los para uso programaticamente e usando arquivos de configuração.

Estendendo a hospedagem com ServiceHostFactory
Descreve como estender System.ServiceModel.ServiceHostBase, System.ServiceModel.ServiceHost e usar as classes System.ServiceModel.Activation.ServiceHostFactory para personalizar o ambiente de host.

Referência