Gestione variabili di sessione

lunedì 05 novembre 2007 - 23.21

squilibrio Profilo | Expert

Ciao a tutti, sto cercando di trovare una soluzione per la gestione corretta delle sessioni. Intendo: fare il logout automatico ogni qual volta cerco di utilizzare una variabile di sessione scaduta (quindi per evitare problemi)


Uso le variabili di session in questo modo

SessionWrapper.IDDocumento = idRiga;


Come posso inserire il controllo per verificare che la variabile sia inizializzata?


Ho creato un session wraper del tipo

public static class SessionWrapper
{
readonly static string keyValue = "CurrentUser";

public static User CurrentUser
{
get
{
return (User)HttpContext.Current.Session[keyValue];
}
set
{
HttpContext.Current.Session[keyValue] = value;
}
}

public static String IDDocumento
{
get
{
return (String)HttpContext.Current.Session["IDDocumento"];
}
set
{
HttpContext.Current.Session["IDDocumento"] = value;
}
}

public static String IDRiga
{
get
{
return (String)HttpContext.Current.Session["IDRiga"];
}
set
{
HttpContext.Current.Session["IDRiga"] = value;
}
}
}

pozzoli.samuele Profilo | Senior Member

Io... da fanciullo ignorante... (che lo sono!) Quando faccio gestione login con le session, metto la variabile di session "User" che contiene il nome utente... Se è vuotac, o non ho fatto il login o la session è scaduta.

Quindi se fosse un mio progetto, modificherei il codice come segue...

> public static String IDDocumento
> {
> get
> {


(io programmo in vb... scusa le porcherie c#! )

if ((String)HttpContext.Current.Session("User")<>"") {

>return (String)HttpContext.Current.Session["IDDocumento"];

}
else {
'(eventualmente, in qualche modo) response.redirect("login.aspx")
return "Session scaduta"
}

> }
> set
> {
> HttpContext.Current.Session["IDDocumento"] = value;
> }
> }


se l'if da problemi, che ti dice che la session è nothing, provvederei a mettere un if (not isnothing(session("User"))) {

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5