Hospedando serviços WCF no IIS via NetTcp e Windows Process Activation

Para que um serviço seja consumido via NetTcp no IIS, uma série de passos devem ser tomados. E o objetivo deste post é demonstrar como essa configuração pode ser feita.

Por que utilizar NetTcp? Este é o modelo de binding mais eficiente, este modelo é baseado no padrão TCP (Transmission Control Protocol). É bastante utilizado na comunicação entre serviços e dentro de ambientes de intranet. Este modelo de binding é indicado quando queremos fazer uso de um tráfego seguro e confiável.

Por que utilizar o NetTcp no IIS? Por diversas maneiras: (1) se um serviço exposto em um Windows Service tiver um estouro de exceção, então o serviço torna-se offline; (2) serviços expostos em consoles não são confiáveis, robustos e executam no contexto do usuário logado no Windows; (3) IIS é o serviço mais confiável, possui recursos de starting automático e recycling, além de possuir diversos recursos de monitoramento.
Leia mais »

WCF e Protection Level

Windows Communication Foundation é uma plataforma distribuída orientada a mensagens SOAP. Dentre suas principais características podemos destacar os recursos de segurança entre mensagens cliente/servidor. Atualmente tais recursos são essenciais para proteção dos nossos dados.

Dentre os recursos de segurança dos serviços WCF encontramos os níveis de proteção (protection levels) dos envelopes SOAP. Tais níveis de proteção são responsáveis por proteger a comunicação cliente/servidor contra interceptações e alterações indevidas.

Estes recursos são necessários para garantir a confidencialidade dos dados, prevenindo o extravio, a alteração ou a leitura dos dados por outros.

Leia mais »

Controle de instâncias entre requisições de serviços WCF

O WCF provê três modelos diferente de controle de instâncias, sendo estes modelos:

Per call instance mode – Uma nova instância do serviço WCF é criada para cada chamada de método invocada por um cliente e destruida após a resposta ser enviada.

Per session instance mode – Apenas uma instância de um serviço é criada para um conjunto de integrações com o cliente. A instância do serviço só é destruída quando o cliente termina suas requisições.

Single instance mode – Uma instância global do serviço é criada, e desta forma fica responsável por receber e processar todas as requisições de todos os clientes.

Leia mais »