Perché utilizzare le istruzioni using quando si desidera riaprire le connessioni? [chiuso]

-1

In un progetto Winforms su cui ho lavorato di recente, ho usato diligentemente le istruzioni using per gli oggetti che implementano IDisposable. Voglio riaprire una connessione al database, tuttavia, poiché l'istruzione using in cui si trovava prima disponeva la connessione, non posso riaprirla.

Quindi questo mi porta alla domanda, è brutto usare solo 1 connessione per un piccolo programma personale che accede a 1 database (e 2 tabelle). A questo punto sto pensando di convertire tutti quelli che usano le istruzioni in istruzioni open () e close ().

Ma non è quello. Devo ancora chiamare dispose () prima che il programma sia chiuso. C'è un modo per chiamare questo quando l'utente esce?

    
posta user3750325 27.06.2016 - 03:45
fonte

2 risposte

5

.net utilizza già il pool di connessioni, quindi quando si crea / dispose una connessione, non si sta effettivamente aprendo e chiudendo una connessione al database, semplicemente recuperando e restituendo una connessione al pool. Quindi non ottieni alcun beneficio cambiando in Apri / Chiudi e il costrutto di utilizzo garantisce che la connessione venga restituita correttamente al pool anche in caso di errore.

Quindi non è necessario "riaprire" una connessione. Devi solo creare una nuova connessione.

    
risposta data 27.06.2016 - 09:29
fonte
-3

is it bad to only be using 1 connection for a small personal program that accesses 1 database (and 2 tables)

Non dovresti limitare il programma a 1 connessione. Prima o poi finirai per situazioni che richiedono più di una connessione simultanea,

Costruito in pooling di connessioni , sta riutilizzando le connessioni e restituisce le connessioni al pool solo quando lo si chiude (purché si utilizzi la stessa stringa di connessione).

Quindi, quando hai bisogno di una connessione, apri semplicemente e, una volta terminato, eliminala con l'istruzione using .

    
risposta data 27.06.2016 - 09:06
fonte

Leggi altre domande sui tag