FIX: Messaggio di errore intermittenti "connessione sottostante chiusa" quando si chiama un servizio Web da ASP.NET

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 819450
Questo articolo è stato archiviato. L’articolo, quindi, viene offerto “così come è” e non verrà più aggiornato.
Sintomi
Quando viene chiamato un servizio Web Microsoft ASP.NET da un ASP.NET dell'applicazione è in modo intermittente potrebbe essere visualizzato il seguente messaggio di errore:
La connessione sottostante chiusa: si è verificato un errore imprevisto in un'operazione di invio.
Lo stack di chiamata è simile al seguente:
System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. At System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at ...
Risoluzione
È ora disponibile un hotfix supportato. Tuttavia è destinato esclusivamente alla risoluzione del problema descritto in questo articolo. Applicarlo solo a sistemi che si verifica questo problema specifico. Questo aggiornamento rapido (hotfix) potrebbe essere eseguiti ulteriori test. Se non si è notevolmente interessati da questo problema, si consiglia pertanto di attendere il rilascio del prossimo service pack di Microsoft .NET Framework che contiene questo aggiornamento rapido (hotfix).

Per risolvere immediatamente questo problema, contattare il servizio di supporto clienti di Microsoft per ottenere l'hotfix. Per un elenco completo di numeri di telefono del supporto tecnico clienti Microsoft e per informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft: Nota in casi particolari, le spese normalmente addebitate per le chiamate al Servizio Supporto Tecnico Clienti Microsoft potrebbero essere annullate qualora un addetto del Supporto Tecnico Microsoft dovesse determinare che uno specifico aggiornamento risolverà il problema. I normali costi del Servizio Supporto Tecnico Clienti verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.

La versione di lingua inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Le date e le ore per questi file sono indicati in UTC (Coordinated Universal Time). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello Data e ora nel Pannello di controllo.
   Date         Time   Version       Size       File name                    Platform   ----------------------------------------------------------------------------------   01-May-2003  12:48  1.0.3705.426     20,480  Perfcounter.dll              X86   01-May-2003  12:48  1.0.3705.426  1,175,552  System.dll                   X86   01-May-2003  12:48  1.0.3705.426    311,296  System.runtime.remoting.dll  X86   01-May-2003  12:48  1.0.3705.426    503,808  System.web.services.dll      X86	
Questo aggiornamento rapido (hotfix) è incluso in .NET Framework 1.0 Service Pack 3 e in .NET Framework 1.1 Service Pack 1.

Per ulteriori informazioni su come ottenere il service pack più recente per .NET Framework 1.0, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
318836Come ottenere il service pack più recente per .NET Framework 1.0
Status
Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".
Informazioni
Il messaggio di errore menzionato nella sezione "Sintomi" può anche verificarsi per motivi validi. Ad esempio, la connessione sottostante è possibile che sono stati chiusi per ragioni che esulano dal controllo del client. In tali circostanze, Microsoft .NET Framework funziona correttamente.

Ad esempio, se i servizi Web che vengono chiamati sono inclusi in un software o in un ambiente con bilanciamento del carico hardware contiene server che supportano HTTP 1.1 e le connessioni keep-alive, la connessione potrebbe è terminata quando il client tenta di riutilizzare la connessione. Se l'errore persiste dopo avere applicato questa correzione, provare una delle seguenti soluzioni:
  • Configurare il sito Web che ospita i servizi Web non consente le connessioni keep-alive. Per effettuare questa operazione, attenersi alla seguente procedura:
    1. Aprire la finestra di Console Internet Information Server (IIS) e individuare il server Web.
    2. Fare clic sulla scheda sito Web della pagina delle proprietà per il sito Web.
    3. Fare clic per deselezionare il keep-alive HTTP attivato casella di controllo.
  • Consente di verificare che l'hardware di bilanciamento del carico o il software sia configurato correttamente per i requisiti dell'applicazione.
  • Se non si dispone controllo sull'ambiente server che ospita i servizi Web che si siano chiamando, sarà necessario disattivare le connessioni keep-alive sul lato client. Per effettuare questa operazione, attenersi alla seguente procedura:
    1. Impostare la proprietà di KeepAlive della classe HttpWebRequest su false .
    2. Eseguire l'override del metodo HttpWebRequest nel file Reference.cs generato da Microsoft Visual Studio .NET per il proxy di client Web. Il codice di riportato di seguito esegue l'override del metodo HttpWebRequest .
      protected override WebRequest GetWebRequest(Uri uri) { HttpWebRequest webRequest = (HttpWebRequest) base.GetWebRequest(uri);  webRequest.KeepAlive = false;  return webRequest; }
Riferimenti
Per ulteriori informazioni su come ottenere .NET Framework 1.1 Service Pack 1, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
885055Come ottenere Microsoft .NET Framework 1.1 Service Pack 1

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 819450 - Ultima revisione: 12/08/2015 02:37:10 - Revisione: 2.9

Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.0 Service Pack 1, Microsoft .NET Framework 1.0 Service Pack 2, Microsoft .NET Framework 1.1

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbnetframe100presp3fix kbfix kbbug KB819450 KbMtit
Feedback