Newsgroup: it.comp.www.asp
Titolo: Esistono "recordset di sessione"?

Ho cominciato a giocare con i recordset, ma non mi trovo a mio agio.
Il problema e' che ogni volta che carico la pagina ASP devo sempre aprire la
connection, fare la select, cercarmi il record, eccetera... Almeno questi
sono gli esempi che leggo nei libri.
Non c'e' modo di avere un recordset bello che aperto sul server, collegato
alla sessione corrente?
Adesso che mi viene in mente, si puo' creare una variabile Session che sia
un oggetto recordset e quindi agire su di esso con i metodi ? Ad esempio
quando premo il pulsante "Next" sul form potrei fare un MoveNext sul
recordset di sessione in modo da non essere costretto a riaprirlo ogni
volta?
Forse bisogna istanziarlo (si dice cosi'?) nell' evento Session_OnStart? O
forse si puo' istanziare in qualunque pagina ASP ed utilizzarlo nelle altre?
Any suggestion GREATLY appreciated.

 alla sessione corrente?
Secondo te č conveniente avere un recordset aperto e memorizzato
sul server per ogni utente che visita il sito?
Non č... furbo farlo, il server non sarebbe contento
 :-))
Nixs

 Nixs
E' abbastanza vero, ci sarebbero problemi di concorrenza, locks, eccetera...
E' anche vero che se non ci sono transazioni in corso si tratterebbe solo di
"semplici" sessioni aperte sul database. Per intenderci, non esiste che
carico una pagina e lascio il recordset senza una "commit" (se di sessioni
si puo' parlare).
Quando scatta il timeout (se uno clicca "x" sul browser), la sessione WEB
muore, e cosi' la sessione sul database.
(Scusa, ma io vengo dal client-server, dove ogni applicazione apriva una
sessione, ed avevo al massimo un centinaio di sessioni sul database.)
Attenzione! Io so gia' che avro' un numero limitato di utenti (alcune
decine) di cui pochissimi attivi contemporaneamente, ed in scrittura ancora
meno.
Comunque, al di la' che sia furbo o meno, si puo' fare?
Almeno ci provo come esperimento per vedere di cosa e' capace ASP...


Moderatore di it.comp.www.asp
http://www.aspitalia.com
 Enjoy the .NET community!
http://www.dev2dev.it
 La rete ha connesso nuove particelle!

 muore, e cosi' la sessione sul database.
Si puň fare, ogni tipo di variabile e oggetto puň essere inserito nelle
variabili di sessione, anche un oggetto recordset, ma se parliamo di
prestazioni (era questo, se non sbaglio, l'oggetto del discorso), la stessa
Microsoft raccomanda di non utilizzare questa tecnica e di creare in
ogni pagina, quanto piů tardi possibile, un oggetto e distruggerlo quanto
prima.
In caso di Intranet, pochi utenti e piccoli recordset... credo che non
debbano esserci problemi.
Nixs

Credo puoi aprirlo in global.asa
Forse c'č un esempio su www.aspitalia,com , verifica
concordo sul fatto che la soluzione migliore č aprire e chiudere all'uso
Per chiudere: attenzione che la session scade dopo 20 minuti (di default)

Ok, ho capito la filosofia... Insomma mi confermate che se devo fare una
maschera di browsing (su piu' schermate, tipo il "tab control" di Access/VB)
il sistema migliore e' quello di gestire tutto con variabili session dove
tengo traccia della chiave del record, magari con campi nascosti, ed ogni
volta che chiedo la pagina con i campi che mi interessano apro il recordset,
faccio il find della chiave (o l' AbsolutePage),  carico la pagina con i
campi che mi servono e chiudo il recordset?
Mi viene un po' di paura...
P.S.
Peccato per il garbage collector (mi pare esista in dotnet). Se veramente
non esiste, ho proprio paura che dopo un po' di tempo mi si intasera' il
server...    
www.idraulicoliquido.com
 ?


puoi comunque considerare lapossibilita' di salvare il recordset in un
array che poi salvi in una variabile session... 
-- 
emy

 array che poi salvi in una variabile session...
e cosa avrebbe di diverso che salvarlo direttamente?
quello che pesa per un server è tenere nelle var session troppe
informazioni.
moltiplica un array (che già il VBS a livello di memoria gestisce non
proprio in maniera ottimale) per 100 sessioni e pensa quanto potrebbe
incidere sul carico del server.


 incidere sul carico del server.
bhe, ma se tieni il recordset credo che ti occupa decisamente piu'
spazio, o sbaglio?....
-- 
emy

 spazio, o sbaglio?....
si, sono pratiche da evitare entrambe.
