Usuário com melhor resposta
Session Encapsuladas

Pergunta
-
Olá galera,
Estou começando agora a utilizar as variaveis da Session e percebi que fica uma bagunça já que elas são publicas.
Será que há alguma forma de encapsular algumas Sessions em classes no App_Code ?
exemplo:
public class static TESTE
{
public static void SetVarSession(Datatable dt)
{
//Tratamento
//
Session["TESTE"] = dt ;
//
}
public static Datatable GetVarSession()
{
//Tratamento
//
return (DataTable)Session["TESTE"];
//
}
}
Qual o namespace que devo utilizar para ter acesso ao Session[] no App_Code?
Isso dá certo? É recomendavel ? Existe uma forma melhor de gerenciar meus dados em memoria por usuario ?
Desculpa pela enchurrada de perguntas !
Sou assim mesmo.
Valeu galera!
Abraão Alves - Um eterno estudante
Respostas
-
Olá galera,
Estou começando agora a utilizar as variaveis da Session e percebi que fica uma bagunça já que elas são publicas.
Será que há alguma forma de encapsular algumas Sessions em classes no App_Code ?
exemplo:
public class static TESTE
{
public static void SetVarSession(Datatable dt)
{
//Tratamento
//
Session["TESTE"] = dt ;
//
}
public static Datatable GetVarSession()
{
//Tratamento
//
return (DataTable)Session["TESTE"];
//
}
}
Qual o namespace que devo utilizar para ter acesso ao Session[] no App_Code?
Isso dá certo? É recomendavel ? Existe uma forma melhor de gerenciar meus dados em memoria por usuario ?
Desculpa pela enchurrada de perguntas !
Sou assim mesmo.
Valeu galera!
Abraão Alves - Um eterno estudante
Dá certo, é recomendável, considero a melhor forma de fazer.
Você precisa fazer imports/using para System.Web.HttpContext.
HttpContext é uma classe, não um namespace (tenho impressão que VB aceita o imports, C# só aceita até System.Web) a classe HttpContext possui uma propriedade Current e nela encontrará o ambiente de sessão - Session - podendo ter acesso as variáveis de sessão normalmente.
[]'sDennes
* Treinamento de ASP.NET 3.5 dia 24/10 - Apenas 12x R$ 70,88 - Inscreva-se em http://www.bufaloinfo.com.br/cursos/aspnet2.asp* Treinamento de Introdução a OO e Framework .NET c/C# dia 17/10 - Apenas 12 R$ 42,53 Inscreva-se em http://www.bufaloinfo.com.br/cursos/fundamentosOOFramework.asp
Tel : (11) 3170-3056 (21)9240-5134 E-Mail: contato arroba bufaloinfo.com.br
http://www.bufaloinfo.com.br
Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp- Marcado como Resposta Abraão Alves sábado, 31 de outubro de 2009 18:28
Todas as Respostas
-
O que você pode fazer é criar um Enum para armazenar suas possíveis sessions.
Ex.:
public enum MySessions
{
UserData,
Authenticated,
Others
}
E quando for usar uma sessão, fazer algo como:
(User)Session[MySession.UserData]
Assim você garante que o mesmo valor é usado como chave para suas sessões.
Abraço!
Roberto Santos http://blog.robertoosantos.com -
Olá galera,
Estou começando agora a utilizar as variaveis da Session e percebi que fica uma bagunça já que elas são publicas.
Será que há alguma forma de encapsular algumas Sessions em classes no App_Code ?
exemplo:
public class static TESTE
{
public static void SetVarSession(Datatable dt)
{
//Tratamento
//
Session["TESTE"] = dt ;
//
}
public static Datatable GetVarSession()
{
//Tratamento
//
return (DataTable)Session["TESTE"];
//
}
}
Qual o namespace que devo utilizar para ter acesso ao Session[] no App_Code?
Isso dá certo? É recomendavel ? Existe uma forma melhor de gerenciar meus dados em memoria por usuario ?
Desculpa pela enchurrada de perguntas !
Sou assim mesmo.
Valeu galera!
Abraão Alves - Um eterno estudante
Dá certo, é recomendável, considero a melhor forma de fazer.
Você precisa fazer imports/using para System.Web.HttpContext.
HttpContext é uma classe, não um namespace (tenho impressão que VB aceita o imports, C# só aceita até System.Web) a classe HttpContext possui uma propriedade Current e nela encontrará o ambiente de sessão - Session - podendo ter acesso as variáveis de sessão normalmente.
[]'sDennes
* Treinamento de ASP.NET 3.5 dia 24/10 - Apenas 12x R$ 70,88 - Inscreva-se em http://www.bufaloinfo.com.br/cursos/aspnet2.asp* Treinamento de Introdução a OO e Framework .NET c/C# dia 17/10 - Apenas 12 R$ 42,53 Inscreva-se em http://www.bufaloinfo.com.br/cursos/fundamentosOOFramework.asp
Tel : (11) 3170-3056 (21)9240-5134 E-Mail: contato arroba bufaloinfo.com.br
http://www.bufaloinfo.com.br
Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp- Marcado como Resposta Abraão Alves sábado, 31 de outubro de 2009 18:28