none
Como um Webservice pode detectar a desconexão de um cliente? RRS feed

  • Pergunta

  • Olá,

    Preciso encontrar um método para verificar se um cliente de um webservice ainda está conectado ao webservice, senão o webservice envia a resposta para ninguém e não detecta que o cliente não recebeu.

    O cenário é o seguinte:
    Um aplicativo Windows roda em um terminal de auto-atendimento e chama, através da internet, um webservice para autorizar e procecssar uma transação financeira. O problema ocorrre quando o webservice deve retornar os dados para o aplicativo: caso o aplicativo tenha travado/fechado ou o terminal tenha perdido a conexão com a internet/deligado/resetado, o webservice retorna as informações mas ninguém as rececbe. Preciso detectar se o cliente ainda está conectado, caso não, o webservice reverterá a transação financeira.

    Obrigado pela atenção.
    quinta-feira, 30 de novembro de 2006 19:13

Respostas

  • Você pode criar uma sessão, porém acho que esta não seria uma alternativa muito boa, pois o usuário pode abandonar a sessão.

    Não consegui entender direito o teu contexto, por que vc precisa ver se o usuário ainda está on-line?, pois o principio do ws é não manter estado de conexão, e outra o que fará rollback das operação será alguma validação tipo saldo insuficiente, um usuário que efetua uma operação destas na web normalmente espera até dar timeout da operação isso é tempo suficiente para o ws ter retornado a mensagem de sucesso ou falha.

    De qualquer forma talvez para este tipo de processo o webservices não seja o mais adequado, dá um olhada em:

    http://www.microsoft.com/brasil/msdn/Tecnologias/arquitetura/Escolhendo.mspx

    e pesquisa sobre SOA.

    Espero ter lhe ajudado.

     

    sexta-feira, 22 de dezembro de 2006 16:50