Sintomi
Consideriamo lo scenario seguente. In Microsoft .NET Framework 2,0 si usano il metodo BeginGetRequestStream e il metodo EndGetRequestStream nella classe HTTPWEBREQUEST per completare una richiesta HTTP asincrona. In questo scenario, quando si prova ad accedere all'oggetto Stream restituito dal metodo EndGetRequestStream , viene generata un'eccezione System. ObjectDisposedException . Nota Questo problema si verifica solo se si imposta la proprietà Method nella classe HttpWebRequest su una proprietà Protocol che carica i dati. Ad esempio, imposta la proprietà Method su post.
Causa
Questo problema si verifica quando il server Web Reimposta o chiude la connessione dopo che l'applicazione client ha inviato l'intestazione HTTP. La classe HttpWebRequest prova automaticamente a riaprire una connessione al server Web per completare il trasferimento. Quando il trasferimento ha esito positivo, il metodo EndGetRequestStream restituisce erroneamente l'oggetto Stream dal primo tentativo di connessione non riuscito, anziché l'oggetto Stream dal tentativo di connessione riuscito. Quando l'applicazione client prova a usare questo oggetto Stream eliminato, viene generata un'eccezione System. ObjectDisposedException .
Risoluzione
Informazioni sull'hotfix
È disponibile un hotfix supportato da Microsoft. Tuttavia, questo hotfix è progettato per correggere solo il problema descritto in questo articolo. Applicare questo hotfix solo ai sistemi che stanno vivendo questo problema specifico. Questo hotfix potrebbe ricevere ulteriori test. Pertanto, se il problema non è gravemente influenzato, è consigliabile attendere il successivo aggiornamento software che contiene questo hotfix. Per scaricare questo hotfix dalla raccolta di codice MSDN, visitare il sito Web Microsoft seguente:
http://code.msdn.microsoft.com/KB918462Nota La raccolta di codice MSDN Visualizza le lingue per cui è disponibile l'hotfix. Se non viene visualizzata la lingua elencata, la pagina delle risorse della raccolta codici non è disponibile per tale lingua.Nota Se si verificano altri problemi o se è necessaria una risoluzione dei problemi, potrebbe essere necessario creare una richiesta di servizio distinta. I soliti costi di supporto verranno applicati alle domande e ai problemi di supporto aggiuntivi che non sono idonei per questo hotfix specifico. Per un elenco completo dei numeri di telefono e del supporto tecnico Microsoft o per creare una richiesta di servizio separata, visitare il sito Web Microsoft seguente:
http://support.microsoft.com/contactus/?ws=support
Requisiti
Per applicare questo hotfix è necessario che sia installato .NET Framework 2,0.
Richiesta di riavvio
Non è necessario riavviare il computer dopo aver applicato questo hotfix.
Informazioni sulla sostituzione degli hotfix
Questo hotfix non sostituisce altri hotfix.
Informazioni sui file
La versione in lingua inglese di questo hotfix presenta gli attributi di file elencati nella tabella seguente (o attributi successivi). Le date e le ore di questi file sono espresse nel formato UTC (Coordinated Universal Time). Quando esaminate le informazioni del file, viene convertito in orario locale. Per trovare la differenza tra UTC e ora locale, usare la scheda fuso orario nell'elemento data e ora nel pannello di controllo.
Nome file |
Versione file |
Dimensione file |
Date |
Ora |
---|---|---|---|---|
System.dll |
2.0.50727.109 |
3.018.752 |
01-May-2006 |
21:15 |
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Ulteriori informazioni
Per altre informazioni sulla classe HttpWebRequest , visitare il seguente sito Web MSDN (Microsoft Developer Network):
http://msdn2.microsoft.com/en-us/library/system.net.httpwebrequest.aspxPer altre informazioni sulla classe System. ObjectDisposedException , visitare il sito Web MSDN seguente:
http://msdn2.microsoft.com/en-us/library/system.objectdisposedexception.aspxPer ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
824684 Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft