PDA

View Full Version : [ASP.NET] Connect e dataset


OrcaAssassina
05-09-2007, 11:25
salve,
sono nuovo di aspx, ma conosco abbastanza bene vb.net e asp.
dato che dovrei realizzare un portale completamente in ASPX che lavora su INTRANET, volevo avere un chiarimento in merito alle connessioni al db e l'uso dei dataset, e più in particolare:

. con asp ero abituato ad aprire e chiudere le connessioni al db, a creare e distruggere gli oggetti recordset su ogni pagina .asp. con aspx è consigliabile seguire le stesse metodologie??
. relativamente ai dataset, sono globali dell'applicazione oppure in aspx ogni SESSIONE crea dei diversi dataset?? chiedo questo x capire come gestire la concorrenza ai dati!!

grazie

george2giga
05-09-2007, 21:40
Ciao OrcaAssassina,
provo a risponderti :
- asp.net fa uso delle classi del nel framework .net, offrendo (tra le tante) librerie specializzate nell'accesso ai dati. Per quanto sia presente un garbage collector (http://msdn.microsoft.com/msdnmag/issues/1100/gci/) é sempre consigliabile, oltre a chiudere le varie connessioni al db, utilizzare il metodo Dispose() (é un pò come il distruttore in c++) sugli oggetti che lo implementano e che non verranno più richiamati.
- Puoi trasportarti un dataset a spasso per le pagine della tua applicazione web caricandolo nella sessione dell'utente. Portando a livelli spropositati la ram utilizzata sul server :nonsifa: .
Ti conviene quindi caricare quel che ti serve pagina per pagina.

Ciao ! ;)

Kansas
06-09-2007, 08:57
Sul punto uno come già scritto, mi raccomando usare il metodo Dispose()

Sul punto 2 dipende che dati devi leggere, per dati "statici" puoi anche caricare in dataset nell'oggetto Cache così da renderlo disponibile a livello di applicazione e magari verificarne modifiche ogni volta che viene chiamata la routine Session_Start.
Se i dati del DB variano in continuazione ti consiglio di creare il dataset dove ti serve e distruggerlo subito dopo magari dopo esserti caricato i dati che ti servono nell'oggetto Session.

Tieni sempre presente che se il server arriva a un punto critico con la memoria il .NET scarica la Cache per liberare spazio.