Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O exemplo MultipleContracts demonstra como implementar mais de um contrato em um serviço e como configurar pontos de extremidade para comunicação com cada um dos contratos implementados. Este exemplo é baseado no Começando. O serviço foi modificado para definir dois contratos, o ICalculator contrato e o ICalculatorSession contrato.
Observação
O procedimento de instalação e as instruções de build para este exemplo estão localizados no final deste tópico.
A classe de serviço implementa tanto o contrato ICalculator quanto o contrato ICalculatorSession. Como um dos contratos requer uma sessão, o serviço usa o PerSession modo de instância para manter o estado durante o tempo de vida da sessão.
A configuração de serviço foi modificada para definir dois pontos de extremidade para expor cada contrato. O ponto de extremidade ICalculator é exposto no endereço base usando um basicHttpBinding. O ponto de extremidade ICalculatorSession é exposto em baseaddress/session usando um wsHttpBinding com o atributo bindingConfiguration definido como BindingWithSession, conforme mostrado na configuração de exemplo a seguir.
<service
name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<!-- ICalculator endpoint is exposed using BasicBinding at the base
address provided by host:
http://localhost/servicemodelsamples/service.svc -->
<endpoint address=""
binding="basicHttpBinding"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
<!-- ICalculatorSession endpoint is exposed using BindingWithSession
at {baseaddress}/session:
http://localhost/servicemodelsamples/service.svc/session -->
<endpoint address="session"
binding="wsHttpBinding"
bindingConfiguration="BindingWithSession"
contract="Microsoft.ServiceModel.Samples.ICalculatorSession" />
...
</service>
O código do cliente gerado agora inclui uma classe cliente para o contrato original ICalculator e o novo ICalculatorSession contrato. A configuração e o código do cliente foram modificados para se comunicar com cada contrato no ponto de extremidade de serviço apropriado.
O cliente é um aplicativo windows do console (.exe). O serviço é hospedado pelo IIS (Serviços de Informações da Internet).
A janela do console do cliente exibe as operações enviadas para cada endpoint, começando pelo básico e seguido pelo seguro.
Para configurar, compilar e executar o exemplo
Verifique se você executou o Procedimento de instalação avulsa dos exemplos do Windows Communication Foundation.
Para compilar a edição .NET do C# ou do Visual Basic da solução, siga as instruções contidas em Como Compilar as Amostras do Windows Communication Foundation.
Para executar o exemplo em uma configuração única ou entre máquinas, siga as instruções em Executando os exemplos do Windows Communication Foundation.