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 ws ReliableSession demonstra o uso de sessões confiáveis. Sessões confiáveis fornecem suporte para mensagens e sessões confiáveis. O sistema de mensagens confiável tenta novamente a comunicação em caso de falha e permite especificar garantias de entrega, como a chegada das mensagens em ordem. As sessões mantêm o estado dos clientes entre as chamadas. A amostra implementa sessões para manter o estado do cliente e especifica garantias de entrega em ordem.
Este exemplo baseia-se no Guia de Introdução que implementa um serviço de calculadora. Os recursos de sessão confiáveis são habilitados e configurados nos arquivos de configuração do aplicativo para o cliente e o serviço.
Neste exemplo, o serviço é hospedado no IIS (Serviços de Informações da Internet) e o cliente é um aplicativo de console (.exe).
Observação
O procedimento de instalação e as instruções de build para este exemplo estão localizados no final deste tópico.
O exemplo usa o wsHttpBinding
. A associação é especificada nos arquivos de configuração para o cliente e o serviço. O tipo de vinculação é especificado no atributo binding
do elemento de ponto de extremidade, conforme mostrado na seguinte configuração de exemplo.
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="Binding1"
contract="Microsoft.ServiceModel.Samples.ICalculator" />
O ponto de extremidade contém um atributo bindingConfiguration
que faz referência a uma configuração de associação chamada "Binding1". A configuração de associação permite sessões confiáveis definindo o atributo enabled
do <reliableSession> para true
. As garantias de entrega para sessões ordenadas são controladas definindo o atributo ordenado como true
ou false
. O padrão é true
.
<bindings>
<wsHttpBinding>
<binding name="Binding1">
<reliableSession enabled="true" />
</binding>
</wsHttpBinding>
</bindings>
A classe de implementação de serviço implementa PerSession a instanciação para manter uma instância de classe separada para cada cliente, conforme mostrado no código de exemplo a seguir.
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)] public class CalculatorService : ICalculator
{
...
}
Quando você executa o exemplo, as solicitações e respostas da operação são exibidas na janela do console do cliente. Pressione ENTER na janela do cliente para desligar o cliente.
Add(100,15.99) = 115.99
Subtract(145,76.54) = 68.46
Multiply(9,81.25) = 731.25
Divide(22,7) = 3.14285714285714
Press <ENTER> to terminate client.
Para configurar, compilar e executar o exemplo
Instale ASP.NET 4.0 usando o comando a seguir.
%windir%\Microsoft.NET\Framework\v4.0.XXXXX\aspnet_regiis.exe /i /enable
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.