FIX: Un'applicazione basata su Microsoft.NET Framework 2.0 Service Pack 2 e che richiama in modo asincrono una chiamata al servizio Web genera un'eccezione in un computer che esegue Windows 7

Sintomi

In un computer che esegue Windows 7, si verifichi uno o più dei seguenti sintomi.

Sintomo 1

Si consideri lo scenario seguente:

  • Si esegue un servizio Web asincrono che utilizza Microsoft.NET Framework 2.0 Service Pack 2 (SP2) su un server.


  • L'operazione asincrona HttpWebRequest invia una richiesta Web al servizio Web.

  • Il servizio Web genera un'eccezione.

In questo scenario, l'operazione asincrona HttpWebRequest non chiama il metodo BeginGetResponse o la funzione di callback. Tuttavia, l'operazione asincrona HttpWebRequest inaspettatamente è completato. Quindi, il servizio Web si blocca. Inoltre, l'utilizzo della CPU sul server può aumentare fino al 100 percento e quindi il server si blocca.

Sintomo 2

Si consideri lo scenario seguente:

  • Si esegue un'applicazione basata su.NET Framework 2.0 SP2 che chiama un servizio Web utilizzando i componenti client di servizio Web ASP.NET Microsoft Microsoft. Ad esempio, il codice dell'applicazione generato dal processo di Wsdl.exe o l'applicazione chiama la classe SoapHttpClientProtocol .

  • Il client richiama in modo asincrono la chiamata al servizio Web.

  • Il client invia una richiesta a un server.

  • Il client riceve quindi una risposta Web con contenuto di lunghezza zero.

Quando il servizio Web tenta di elaborare la risposta in questo scenario, viene generata un'eccezione ArgumentNullException . Quindi, viene visualizzato il seguente messaggio di errore:

Valore non può essere null.

Nota: Questo problema si verifica quando il client richiama la chiamata al servizio Web in modo sincrono.

Causa

Sintomo 1

Questo problema si verifica perché la gestione delle eccezioni di.NET Framework non considera il caso in cui il metodo HttpWebRequest.EndGetRequestStream genera un'eccezione quando l'eccezione contiene una risposta dal server.

Risoluzione

Informazioni sull'hotfix

Un hotfix supportato è ora disponibile da Microsoft. Tuttavia, destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Applicarlo solo ai sistemi in cui si verificano questo problema specifico.

Per scaricare questo hotfix, visitare il seguente sito Web Microsoft Connect:

http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=27977

Stato

Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".

Ulteriori informazioni

Per ulteriori informazioni sui problemi che sono descritti nella sezione "Sintomo 1", fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

973134 FIX: il servizio Web si blocca e viene generata un'eccezione durante l'esecuzione di un servizio Web asincrono basati su.NET Framework 2.0 S

Per ulteriori informazioni sui problemi che sono descritti nella sezione "Sintomo 2", fare clic sul numero riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base riportato di seguito:

973136 FIX: messaggio di errore di eccezione ArgumentNullException quando un'applicazione basata su.NET Framework 2.0 S tenta di elaborare una risposta con contenuto di lunghezza zero a una richiesta asincrona di servizio Web ASP.NET: "Valore non può essere null"

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×