Scusa Ale ho letto il tuo link e tra le note tradotto in italiano c'è scritto questo:
Attenzione
Si consiglia vivamente di chiudere sempre la connessione quando hai finito di usarlo in modo che la connessione verrà restituita al pool. È possibile farlo utilizzando il Close o Dispose metodi di connessione oggetto, oppure aprendo tutte le connessioni all'interno di un utilizzo dichiarazione in C #, o un utilizzo dichiarazione in Visual Basic. Le connessioni che non sono esplicitamente chiuse potrebbero non essere aggiunte o restituite al pool. Per ulteriori informazioni, vedere Istruzione using (Riferimenti per C #) o Procedura: eliminare una risorsa di sistema (Visual Basic) per Visual Basic.
Nota
Non chiamare Close o Dispose su una connessione , un DataReader , o qualsiasi altro oggetto gestito nel Finalize metodo della classe. In un finalizzatore, rilasciare solo le risorse non gestite che la classe controlla direttamente. Se la classe non è proprietaria di alcuna risorsa non gestita, non includere un Finalize metodo nella definizione della classe. Per ulteriori informazioni, vedere Garbage Collection .
Adesso mi sto confondendo le idee, ossia sulla prima nota si consiglia di utilizzare il metodo close o dispose, mentre sotto viene detto di non utilizzarlo su una connessione, un datareader o qualsiasi altro oggetto.....
Ora non so per capire ti posto un esempio....
IN questo mio caso:
qui in teoria stando a quello che dice la seconda nota non dovrei utilizzare il db.close e il sqlcmd.dispose
allora mi domando perchè nella prima nota viene consigliato di effettuare il close o dispose.....per chiudere le connessioni....Dato che mi hai detto che è l'ado.net a farlo o sbaglio?
Parlo sempre su programmi lato desktop
Ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com