2012-09-02 13 views
6

Affronto il seguente problema:Quando possiamo usare il metodo ClearAllPools?

Connection Pool ha raggiunto il numero massimo di connessioni

ho seguito tutte le raccomandazioni. il problema non è come prima ma succede raramente !!

Io uso il Using statement con tutte le mie connessioni e lettori.

Ultimamente affronta il seguente errore, e ho dovuto ripristinare il iis per risolvere il mio problema.


Connection Pool has reached the maximum number of connections. at IBM.Data.Informix.IfxConnectionPool.ReportOpenTimeOut() 
at IBM.Data.Informix.IfxConnectionPool.Open(IfxConnection connection) 
at IBM.Data.Informix.IfxConnPoolManager.Open(IfxConnection connection) 
at IBM.Data.Informix.IfxConnection.Open() 
at DB_Connection_s.DB_Connection.GetUserSystems(String emp_num) 

Ora ho letto su questo metodo ClearAllPools() .ma non so quando usare questo metodo .e se questo considerato come una buona soluzione per evitare che il have to ripristinare le iis per fissare l'orario della richiesta problema?

+2

È possibile configurare la dimensione di un pool di connessioni? Il server del database Informix è in esecuzione sullo stesso computer di IIS? In tal caso, stai utilizzando connessioni a memoria condivisa su Informix? Se si utilizzano connessioni a memoria condivisa su un server Informix locale, è possibile che sia stato superato il numero di connessioni simultanee configurate da Informix per la gestione. Dovresti quindi aumentare tale configurazione e riavviare Informix. Se stai usando qualcosa di diverso dalle connessioni di memoria condivisa, non c'è un limite superiore sulle connessioni nello stesso modo. –

+0

' ' –

+0

questo è nel' web.config' –

risposta

1

È possibile chiamare ClearAllPools() quando non si dispone di alcuna connessione attiva.

controllare anche http://www.codeproject.com/Articles/46267/Connection-Pooling-in-ASP-NET

garantire che l'applicazione si chiude correttamente e costantemente tutte le connessioni al database.

Verificare che il database sia online.

Aumentare il timeout della connessione.

Il motivo di errore indica che le connessioni sono "trapelate" per un lungo periodo. Per risolvere questo problema, assicurarsi che l'applicazione chiuda tutte le connessioni al database in modo corretto e coerente.

L'eccezione non indica che il database non è in linea. L'eccezione indica un problema del pool di connessioni.