8 messaggi dal 13 marzo 2003
Ho implementato un componente per il controllo dell'autenticazione tramite un UserControl ( che eredita quindi da WebControls).
Aggiungo tale componente a tutte le pagine e mi sono accordo che viene creata un'istanza dell'oggetto per ogni pagina.
é possibile fare il modo di avere una sola istanza dell'oggetto per ogni sessione???

grazie
8 messaggi dal 13 marzo 2003
Nessuno mi sa dare una dritta??
Puoi farlo, ma allora non inserire il tag nella pagina ma lo aggiungi alla collezione Controls del contenitore a runtime e devi mettere l'istanza nella sessione o nella cache (a seconda del meccanismo che vuoi usare). Oltre al fatto che è brutta sta cosa, se l'utente usa la stessa sessione (magari perché apre due volte la stessa pagina) utilizzare lo stesso controllo in due pagine contemporaneamente non ha senso perché ci sono variabili che lo legano alla pagina.
Inoltre tutta l'idea credo sia da scartare, perché la classe Page viene create e distrutta ad ogni richiesta e allo stesso modo anche i controlli figli, ci sarà un perché...

Ciao

Il mio blog
Homepage
8 messaggi dal 13 marzo 2003
Senza usare una UserControl posso usare un oggetto con scope di Sessione definito sul global.asax.
Come faccio a dichiararlo e ad usarlo.

Grazie


Ricciolo ha scritto:
Puoi farlo, ma allora non inserire il tag nella pagina ma lo aggiungi alla collezione Controls del contenitore a runtime e devi mettere l'istanza nella sessione o nella cache (a seconda del meccanismo che vuoi usare). Oltre al fatto che è brutta sta cosa, se l'utente usa la stessa sessione (magari perché apre due volte la stessa pagina) utilizzare lo stesso controllo in due pagine contemporaneamente non ha senso perché ci sono variabili che lo legano alla pagina.
Inoltre tutta l'idea credo sia da scartare, perché la classe Page viene create e distrutta ad ogni richiesta e allo stesso modo anche i controlli figli, ci sarà un perché...

Beh, dipende da te. Perché nel global.asax puoi intercettare Session_Start o Session_End ma questo avviene quando imposti qualcosa dentro.
Così come fai
Session["prova"] = "ciccio";
così puoi fare anche per inserire un'istanza di una tua classe
Session["prova"] = new MiaClasse();

Ciao

Il mio blog
Homepage

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.