none
Capturar fallo en servidor (web service)

    Pertanyaan

  • He desarrollado un webservice del que hago el hosting con: ServiceHost
    Igualmente he desarrolado un cliente para consumir este servicio.

    Ambas en aplicaciones distintas. Hasta aquí sin problema.

    El problema viene cuando parando de forma "abrupta" el servidor, matando el proceso, desde el cliente no hay forma de que se entre de dicha desaparición.

                        proxy.InnerDuplexChannel.Faulted += new EventHandler(InnerDuplexChannel_Faulted);
                         proxy.InnerDuplexChannel.Closed += new EventHandler(InnerDuplexChannel_Closed);

    Ninguno de los eventos salta incluso forzando transacciones, que sí acaban en excepción con el cumplimiento de los timeouts:

     

                if (proxy != null && Connected)
                {
                    try
                    {
                        proxy.Alive();
                    }
                    catch (Exception ex)
                    {
                        HandEx(ex);<-------
                    }
                }
    

    ¿Qué hay que hacer para que la excepción de fallo aparezca?

    Gracias


    RTM
    30 Januari 2012 15:28

Semua Balasan

  • Hola Rafa,

    Creo que deberías hacer una validación cuando haces el request al server, cuando se lanza la petición para consumir el servicio, si el server no responder deberias de notificar al cliente. Espero te sirva de algo.

    ____________________

    Oscar Gómez

    Engineer at PSL

    http://www.pslcorp.com/

    24 Februari 2012 15:43
  • El problema es porque las excepciones no se propagan al cliente de la forma que ocurren en el servidor, para capturar las excepciones lo que tenes que hacer es en el comportamiento, habilitar la opcion serviceDebug, te diria que te mires la clase FaultException, un saludo.

    Ing. Luis Alberto Salvarezza

    27 Februari 2012 5:00