Si .NETO de las necesidades de la aplicación para llamar a un servicio web no es una buena solución para comprobar si el servicio web está actualmente disponible, fuera de llamar a un específico método web?

En mi web, de los servicios que suelen incluir algún tipo de estado de método para las pruebas, pero esto se convierte en un problema cuando se utiliza una tercera parte de servicio web.

3 Comentarios

  1. 2

    Otra solución es hacer una simple HTTP get en la URL del servicio. Y mirar el código de respuesta (es decir, 404, etc). Lo bueno de esto es que usted no tiene que publicar cualquier dato o llamar a sus métodos.

    • Si detiene el servicio web, ¿serviría de algo? No es una página de error que se muestra en lugar de un mensaje de error 404?
    • Técnicamente si respondieron con algunos generales html que indica que la aplicación está abajo sería correcto. Entonces lo que puedes hacer es añadir «?WSDL=» la cadena de consulta de la URL. Si usted no recibe un XML válido de nuevo usted sabe con certeza es hacia abajo. La mayoría de las Web de Servicio de tecnologías de apoyo a esta semántica.
    • Modificar solo «?WSDL» ignorar «el=»
    • Esto no es siempre correcta. Para la mayoría de las situaciones, sí, pero he visto situaciones en las que el servicio no está respondiendo a las peticiones o incluso de recibir cualquier información de los clientes y usted todavía puede obtener su WSDL. Es raro, pero sucede
  2. 0

    Nope.

    Una cosa que podrías hacer es crear un ServiceIsUp método que no hace nada, sólo devuelve true. Si su servidor fue colgado por el motivo que sea, su solicitud de tiempo de espera.

  3. 0

    Sería necesario llamar a un método, independientemente, de lo contrario no se sabe si el propio servicio web estaba en marcha. I. e. El servidor podría estar ejecutándose, pero el servicio web se detuvo.

    Hacemos esto para algunos de nuestros servicios web y expone limpio funcionalidad. Podemos tener retorno de verdadero/falso y de una llamada fallida o false significa que su abajo. Esto le permite «return true;» siempre o condicionalmente devolver false si usted elige, tales como el bloqueo de clientes específicos o apagar el servicio sin detener el servicio web, etc.

Dejar respuesta

Please enter your comment!
Please enter your name here