REVISIÓN: Una aplicación que se basa en el Microsoft.NET Framework 2.0 Service Pack 2 y que invoca una llamada de servicio Web de forma asincrónica produce una excepción en un equipo que ejecuta Windows 7

Síntomas

En un equipo que ejecuta Windows 7, experimenta uno o varios de los síntomas siguientes.

Síntoma 1

Imagine el siguiente escenario:
  • Ejecutar un servicio Web asincrónico que utiliza el Service Pack 2 (SP2) de Microsoft.NET Framework 2.0 en un servidor.

  • La operación asincrónica HttpWebRequest envía una solicitud Web al servicio Web.
  • El servicio Web, produce una excepción.
En este escenario, la operación asincrónica HttpWebRequest no llame al método BeginGetResponse o la función de devolución de llamada. Sin embargo, la operación asincrónica HttpWebRequest inesperadamente se completa. A continuación, el servicio Web deja de responder. Además, el uso de CPU en el servidor puede aumentar al 100 por ciento y, a continuación, el servidor deja de responder.

Síntoma 2

Imagine el siguiente escenario:
  • Ejecutar una aplicación basada en.NET Framework 2.0 Service Pack 2 que llama a un servicio Web mediante el uso de los componentes de cliente de servicio Web de Microsoft ASP.NET de Microsoft. Por ejemplo, el código de la aplicación es generado por el proceso de Wsdl.exe o la aplicación llama a la clase SoapHttpClientProtocol .
  • El cliente invoca la llamada al servicio Web de forma asincrónica.
  • El cliente envía una solicitud a un servidor.
  • A continuación, el cliente recibe una respuesta de Web que tiene contenido de longitud cero.
Cuando el servicio Web intenta procesar esta respuesta en este escenario, se produce una excepción System.ArgumentNullException . A continuación, recibirá el siguiente mensaje de error:
Valor no puede ser null.
Nota: Este problema no se produce cuando el cliente invoca la llamada al servicio Web de forma sincrónica.

Causa

Síntoma 1

Este problema se produce porque el control de excepciones de.NET Framework no tiene en cuenta el caso en que el método HttpWebRequest.EndGetRequestStream produce una excepción cuando esa excepción contiene una respuesta del servidor.

Solución

Información de la revisión

Ahora hay una revisión compatible de Microsoft. Sin embargo, se pretende corregir el problema que describe este artículo. Aplíquela sólo a sistemas que experimenten este problema específico.

Para descargar esta revisión, visite el siguiente sitio Web de Microsoft Connect:

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información

Para obtener más información acerca de los problemas que se describen en la sección "Síntoma 1", haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

CORREGIR 973134 : el servicio Web deja de responder y se produce una excepción cuando se ejecuta un servicio de Web asincrónico basado en.NET Framework 2.0 S

Para obtener más información acerca de los problemas que se describen en la sección "Síntoma 2", haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

CORREGIR 973136 : mensaje de error de excepción ArgumentNullException cuando una aplicación basada en.NET Framework 2.0 S intenta procesar una respuesta con contenido de longitud cero para una solicitud asincrónica del servicio Web ASP.NET: "Valor no puede ser null"

Propiedades

Id. de artículo: 977020 - Última revisión: 13 ene. 2017 - Revisión: 1

Comentarios