Quote Originariamente inviata da ciro78 Visualizza il messaggio
Sicuramente è vero che avere un pool di connessioni occupa risorse ma oggi giorno è preferibile, per un discorso di performance sui tempi, averle a disposizione per eliminare appunto la latenza dovuta alla connessione.
Non ho detto nulla contro l'uso di un pool di connessioni, anzi.

Quello che volevo sottolineare è che il pool è gestito a basso livello, quindi aprire e chiudere connessioni nel codice non comporta alcun tempo di ritardo, in quanto la chiamata a Open() - se ottiene una connessione recuperata dal pool a livello di driver/client - sarà pressoché istantanea.

Il pool non deve gestirlo il software o l'ORM, che si occupano solo di aprire e chiudere: è il layer sottostante che assegna connessioni nuove e/o recuperate da un pool, in base alla configurazione.

Nell'ottica di risparmio e uso corretto delle risorse, in termini di programmazione, la connessione ai dati va chiusa (in senso di chiamata a Close() o Dispose() il prima possibile. Poi, che la connessione torni a un pool o venga chiusa effettivamente in modo fisico dal driver, sono dinamiche a discrezione dello strato più basso e fisico che gestisce il medesimo pool.

Questo è quello che intendevo dire.

Ciao!