Al momento sei offline in attesa che la connessione Internet venga ristabilita

FIX: Messaggio di errore quando un thread "System.Data" tenta di aprire una connessione in pool in .NET Framework 2.0: "timeout. Il periodo di timeout trascorso prima ottenere una connessione dal pool di"

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.

948868
Sintomi
Si consideri lo scenario seguente. In Microsoft .NET Framework 2.0, un thread System.Data tenta di aprire una connessione di pool. Allo stesso tempo, un altro thread tenta di cancellare tale pool utilizzando il metodo ClearPool o il metodo ClearAllPools . In questa situazione viene visualizzato il seguente messaggio d'errore:
Timeout scaduto. Il periodo di timeout trascorso prima ottenere una connessione dal pool. Potrebbe essersi verificato perché tutte le connessioni nel pool erano in uso ed è stata raggiunta la dimensione massima del pool.
Questo problema si verifica nelle seguenti versioni di .NET Framework 2.0:
  • La versione di .NET Framework 2.0
  • .NET Framework 2.0 Service Pack 1
Cause
Questo problema si verifica a causa di una race condition nella chiamata del metodo GetConnection interna. Dopo il gruppo di pool di connessione e il pool di connessioni vengono ottenuti, il metodo GetConnection viene chiamato nel pool di. Se tra il metodo di GetConnectionPool e il metodo GetConnection viene chiamato il metodo ClearPool , lo stato di pool viene modificato per ShuttingDown e il metodo GetConnection restituisce il valore null. Queste operazioni verificano a causa della race condition. Quindi, poiché il valore null viene interpretato come un timeout, riceverai il messaggio di errore menzionato nella sezione "Sintomi".
Risoluzione

Informazioni sull'hotfix

Per risolvere questo problema, è necessario installare l'hotfix menzionato nel seguente articolo della Microsoft Knowledge Base riportato di seguito:
948815Disponibilità del cumulativo di hotfix di .NET Framework 2.0 successivo al Pack 1 per System.Data.dll e System.Data.OracleClient.dll

Prerequisiti

È necessario .NET Framework 2.0 Service Pack 1 per applicare questo aggiornamento rapido (hotfix).

Necessità di riavvio

Non è necessario riavviare il computer dopo avere applicato questo aggiornamento rapido (hotfix).

Informazioni sulla sostituzione della correzione

Questo aggiornamento rapido (hotfix) non sostituisce eventuali altri hotfix.

Informazioni sui file

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.
.NET Framework 2.0, versioni x 86
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
System.Data.dll2.0.50727.18132,998,27204-Febbraio 200820: 49x 86
System.Data.OracleClient.dll2.0.50727.1813484,35204-Febbraio 200820: 49x 86
.NET Framework 2.0, versioni x 64
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
System.Data.dll2.0.50727.18132,998,27204-Febbraio 200820: 49x 86
System.Data.OracleClient.dll2.0.50727.1813484,35204-Febbraio 200820: 49x 86
System.Data.dll2.0.50727.18103,113,47214-Gen-200815: 36x 64
System.Data.OracleClient.dll2.0.50727.1810499.71214-Gen-200815: 36x 64
.NET Framework 2.0, versioni basate su Itanium
Nome del fileVersione del fileDimensione del fileDataOraPiattaforma
System.Data.dll2.0.50727.18132,998,27204-Febbraio 200820: 49x 86
System.Data.OracleClient.dll2.0.50727.1813484,35204-Febbraio 200820: 49x 86
System.Data.dll2.0.50727.18133,208,19204-Febbraio 200817: 25IA-64
System.Data.OracleClient.dll2.0.50727.1813503.80804-Febbraio 200817: 25IA-64
Status
Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a".
Informazioni
Per ulteriori informazioni sulla terminologia di aggiornamento software, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Informazioni dello stack di chiamate

System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)System.Data.SqlClient.SqlConnection.Open()

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 948868 - Ultima revisione: 04/02/2008 22:42:12 - Revisione: 1.0

  • Microsoft .NET Framework 2.0
  • kbmt kbexpertiseadvanced kbpubtypekc kbqfe kbhotfixserver KB948868 KbMtit
Feedback