Salve, volevo avere da qualcuno un parere su una scelta strutturale che ho fatto in passato per capire se è buona o va rivista![]()
Ho creato una DLL C# che funziona in questo modo:
Devo fare una Select, chiamo un metodo (EseguiSelect) a cui passo la Query.
Internamente ho a disposizione fino a tre connessioni contemporanee.
Lui cerca il primo oggetto connessione libero, lo apre e lo usa per la Select e restituisce il Reader.
Quando ho finito di usare il Reader chiamo il metodo CloseReader del mio oggetto passandogli il Reader e internamente cerca il Reader associato, lo chiude e chiude la connessione associata.
Se provo ad eseguire una quarta select (dove ancora non ho chiuso le precedenti tre) mi restituisce errore (perché già ha tutte le connessioni impegnate).
In sostanza la soluzione si prefigge di mantenere sempre le connessioni chiuse e le apre solo all'occorrenza.
E' questa una soluzione performante o sarebbe meglio magari usare una sola connessione e sempre aperta?
Grazie

Rispondi quotando