209 messaggi dal 23 agosto 2007
Ciao,

in un'applicazione web (ASP.NET / C#) DB driven avrei bisogno di impostare il valore di una variable che verrebbe utilizzata da ogni utente che accede all'applicazione.
Tale variabile rappresenta l'identificaivo di una sessione che va utilizzato per accedere ad un server esterno per eseguire delle videoconferenze e scade dopo un'ora che è stata richiesta/generata.

Quindi la logica sarebbe:

Un utente intende creare una videoconferenza:
* SessionID esiste ed è valido (non scaduto dopo 1 ora) -> usa tale valore e accedi al server
* SessionID NON valido: genera nuovo "SessionID", salvalo come variabile globale e usalo per accedere al server esterno

Che tipo di variabile posso usare che abbia scope globale e che non crei conflitti per essere re-inizializzata se due utenti vogliono usare il servizio di videoconferenza quando la sessionID non è più valida?

Potrei usare una application variable nel file Global.asax oppure ci sono soluzioni migliori?

Grazie
Ti basta utilizzare una proprietà statica. Occhio all'inizializzazione, però, potresti dover usare il locking per evitare conflitti nel caso in cui due thread in contemporanea provassero a impostarne il valore.

Ciao,
m.
209 messaggi dal 23 agosto 2007
Grazie del consiglio.

Nel caso di una variabile statica, per sua stessa natura, posso inserirla in qualsiasi classe ed essere sicuro che il suo valore puo' essere inizializzato/letto da qualsiasi punto, giusto?

Quindi non c'è un luogo specifico dove salvare tale variabile al fine di garantire scope globale. Una semplice classe "Utility", ad esempio, potrebbe essere già sufficiente
Modificato da paquito_ita il 05 maggio 2010 13.24 -

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.