Capturar fallo en servidor (web service)
-
30 Januari 2012 15:28
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
Semua Balasan
-
24 Februari 2012 15:43
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
-
27 Februari 2012 5:00El 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