3.168 messaggi dal 06 settembre 2002
Contributi | Blog
Usare le session sul web va bene solo quando altro metodo non hai. Sono pesanti in memoria, se sei in webgarden o webfarm non sono condivise tra le macchine ma devi depositarle in uno storage centralizzato con conseguente perdita di performance, se hai un sito con più directory virtuali ugualmente la sessione non è condivisa. Ad ogni postback hai un httpmodule che recupera e aggiorna la sessione quindi altro tempo perso.

HTH
.

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
492 messaggi dal 08 gennaio 2007
Ciao, ho afferrato il concetto, quindi ogni qualvolta devo mantenere lo stato di oggetti nella pagina tra i postback meglio il ViewState, mentre in caso di passaggio di dati tra pagine Session, Profile o query string a seconda dei casi.
3.168 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

tendenzialmente si, tieni conto che se l'oggetto è di grosse dimensioni anche usare il viewstate può esser controproducente, quindi pui optare per un database. Ma di certo la sessione deve essere l'ultima delle tue scelte.

HTH
.

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
492 messaggi dal 08 gennaio 2007
Sei stato chiarissimo, grazie
196 messaggi dal 02 agosto 2007
sm15455 ha scritto:
Ciao,
al prerender

viewstate["lista"] = mylist;

al load
if (viewstate["lista"] == null) viewstate["lista"] = new ArrayList(); ArrayList list = (ArrayList)viewstate["lista"];

più o meno dovrebbe andare.

HTH
.



Ma la myList dove la devo dichiarare??Come proprietèà della pagina??

Massimiliano
492 messaggi dal 08 gennaio 2007
maxxasp ha scritto:

Ma la myList dove la devo dichiarare??Come proprietèà della pagina??


Ciao, come ti hanno suggerito:

nell'evento prerender della pagina devi scriverci questo:
viewstate["lista"] = mylist;

che fa puntare la lista al viewstate.

nell'evento load della pagina devi scrivere questo:

if (viewstate["lista"] == null) 
// se il viewstate non contiene la collection
// aggiunge una collection al viewstate
viewstate["lista"] = new ArrayList(); 
*/ Ora che sei fuori dal blocco if dichiari e inizializzi la lista facendo il cast della collection nel viewstate /*
ArrayList list = (ArrayList)viewstate["lista"];
196 messaggi dal 02 agosto 2007
E' tutto ok....grazie!!!

Massimiliano
3.168 messaggi dal 06 settembre 2002
Contributi | Blog
Prego,

Contento per te che funziona :)

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.