Anche il codebehind dove il collega scrive le sue procedure e' una classe. Suppongo che tu intendi la tua classe come sinonimo di componente per l'accesso ai dati (che puo' essere una singola classe nello stesso progetto o una o piu' classi in una libreria esterna).Originariamente inviato da Kahm
...lui stabilisce una connessione al database nel form_load e la chiude nel form closed
mentre io apro e chiudo nella classe
Il garbage collector e' un servizio che entra in funzione in automatico e ripulisce la memoria da tutti gli oggetti che non sono piu' referenziati dal codice e/o non mantengono aperte delle risorse (es. file, connessioni al db). Quando si parla appunto di connessioni al db bisogna andarci piu' cauti e il programmatore dovrebbe sempre preoccuparsi di chiudere esplicitamente le risorse occupate. Quindi, se tu o il tuo collega aprite una connessione e non vi preoccupate di chiuderla avete gli stessi identici problemi.gli ho chiesto se avesse mai avuto problemi, in quanto la garbage collection (per quel che ne sappia..ma forse sbaglio) elimina in automatico le variabili non usate
la risposta è stata che nn ha mai sentito parlare di garbace collection, e la sua form riusciva a stare in piedi per + di venti minuti senza subire danni e rimanere sempre connessa...
Guardando piu' da vicino la tecnica del tuo collega, non e' da criticare e ha i suoi lati positivi. L'ho gia' vista proporre in altri tutorial nel passato (non ricordo quali). Si apre la connessione nel page_load e si puo' chiudere anche nel page_prerender. Personalmente non faccio cosi per il semplice motivo che la logica di accesso ai dati la separo in una libreria esterna al progetto web.
non credo che la differenza tra lo stesso codice spostato in un componente esterno alla pagina oppure messo nella pagina stessa possa avere una differenza cosi sensibile quindi credo che il tuo codice possa essere suscettibile di ottimizzazione. In piu' non e' che facendo come il tuo collega riesci a rileggere subito un record perche' la connessione e' rimasta aperta altrimenti devi aspettare "un po'". E' piu' una questione di metodologia. Mettere il codice di accesso ai dati in ogni web form con lunghe procedure negli eventi di ogni pulsante mi sembra un incubo se si tratta di un progetto grosso o destinato a diventarlo.il suo programma risulta molto + veloce e funzionale, mentre i miei (che apro e chiudo in continuazione) sono lenti, e dopo aver scritto dei record mi tocca aspettare un po prima di rileggere

Rispondi quotando