Voy a llamar a un .NET 2.0 servicio web dentro de mi existentes .NET 2.0 de un servicio web. Me gustaría saber qué excepción es lanzada desde la web de método si el tiempo de espera que sucede. He puesto en la web del servicio tiempo de espera para algún valor menor que el valor predeterminado de 90 segundos y quiero agregar lógica de negocio si el tiempo de espera ocurre.

Es [System.Net.WebException][1] la excepción que debo observar?

OriginalEl autor BT. | 2010-03-18

2 Comentarios

  1. 8

    De este tipo depende de la «versión» de los servicios web que está utilizando.

    Con WCF, usted realmente va a conseguir un TimeoutException. En general usted debe también manejar CommunicationException si usted está tratando de manejar los tiempos de espera. A veces también he visto FaultException, a pesar de que técnicamente no ocurrir (pero lo hace de todos modos de vez en cuando). FaultException es un descendiente de CommunicationException así que usted no necesita controlar por separado, es sólo útil para saber que podría ocurrir.

    En ASMX, generalmente, usted recibirá una envuelto SoapException para que usted necesita para comprobar el InnerException propiedad para ver lo que realmente salió mal.

    El uso de WSE, vas a ver otra excepción, ResponseProcessingException, para que de nuevo se deberá comprobar la InnerException para más detalles.

    Estoy usando .NET servicios web 2.0
    .NET 2.0 no es un tipo de servicio web, es una versión de Framework. Suponiendo que te refieres a ASMX los servicios web, consulte el tercer párrafo.
    Gracias! supongo que el InnerException es también un tipo de exceptio, así que mi pregunta sigue siendo allí que cómo voy a saber que es excepción en tiempo de espera, me refiero a qué tipo de excepción interna que debo observar?
    A juzgar por algunos de los (muy viejo) informes de error en nuestra base de datos, el InnerException es probable que sea un HttpException con HttpStatusCode.RequestTimeout (HTTP 408). Aunque puede haber otros tipos de tiempos de espera que no fueron reportados.

    OriginalEl autor Aaronaught

  2. 1

    Usted debe estar buscando un TimeoutException:

    La excepción que se produce cuando el tiempo asignado para un proceso u operación ha caducado.

    Va a funcionar bien en caso de servicio web?
    No funciona en caso de servicio web. La captura de WebException va a hacer.

    OriginalEl autor Andrew Hare

Dejar respuesta

Please enter your comment!
Please enter your name here