Che cosa significa esattamente Connection Lifetime=0
in una stringa di connessione?Durata connessione = 0 nella stringa di connessione MySql
risposta
Aggiornamento: un valore pari a zero (0) fa sì che le connessioni in pool abbiano il timeout di connessione massimo.
Ref.
Significa che non esiste un periodo di timeout della connessione. Ad esempio se è impostato 300 se in questa volta la query non è completata, diciamo perché ci sono molti dati, verrà generata un'eccezione di timeout. Quando si dice 0 funzionerà fino a quando la query è completata.
Questo non è corretto. Vedi la mia risposta: http://stackoverflow.com/questions/1233488/connection-lifetime0-in-mysql-connection-string/3444881#3444881 –
Inoltre, Quando il consumo una tantum di connessione: Distrugge pool connessioni Se il tempo la connessione è aperta per è più grande di LifeTime connessione, il collegamento non è utilizzabile.
suggerisco usando LifeTime Connection se non avete una connessione all'interno di un cluster di server di
Sulla base della mia ricerca credo che Myra è il più vicino delle altre risposte.
È non uguale al timeout della connessione.
Invece vedono questo pseudocodice da this articolo:
On SqlConnection.Close
Check if time the connection has been open is greater than Connection Lifetime if it is, throw the connection away
Else Put connection on the pool
Lo stesso articolo spiega il motivo per cui si dovrebbe raramente desidera utilizzare questa proprietà (e le situazioni in cui si potrebbe).
Si noti che è stato rinominato in "Load Balance Timeout" nel tentativo di chiarire il suo comportamento in base all'articolo sopra riportato.
Questo non è corretto. Vedere la mia risposta: http://stackoverflow.com/questions/1233488/connection-lifetime0-in-mysql-connection-string/3444881#3444881 –
non posso cancellare questa risposta poiché è accettata e il poster non è stato visto per 2 anni. –