Foros del Web » Programando para Internet » ASPX (.net) »

Objeto Session en constructor

Estas en el tema de Objeto Session en constructor en el foro de ASPX (.net) en Foros del Web. Que tal gente, alguien sabe como puedo acceder a un objeto session desde un constructor?. Lo intente pero me tira el siguiente error: Session state ...
  #1 (permalink)  
Antiguo 04/01/2006, 15:24
 
Fecha de Ingreso: noviembre-2005
Mensajes: 26
Antigüedad: 18 años, 6 meses
Puntos: 0
Objeto Session en constructor

Que tal gente, alguien sabe como puedo acceder a un objeto session desde un constructor?. Lo intente pero me tira el siguiente error:

Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive

Busqué directivas del webconfig pero con resultados negativos.

Me gustaria saber si existe alguna manera para que pueda usar dicho objeto en un constructor de una clase cualquiera. Muchas Gracias.
  #2 (permalink)  
Antiguo 04/01/2006, 18:52
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Para que quieres usar un objeto session como constructor..??? me gustaría saber que es lo que estas haciendo.

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 05/01/2006, 06:05
 
Fecha de Ingreso: noviembre-2005
Mensajes: 26
Antigüedad: 18 años, 6 meses
Puntos: 0
Metodo Session[""] en constructor

En realidad esta mal formulada mi pregunta, lo que intento hacer es acceder al metodo Session["LoginOK"] a los efectos de saber si el usuario esta logueado. Necesitaría hacerlo alli (constructor) para no tener que repetir el codigo siguiente en cada pagina:
if (Session["LoginOK"] != null & !((bool) Session["LoginOK"]))
Response.Redirect("Login.aspx");

Lo que pense es implementar el patron de diseño MVC, heredando cada codebehind aspx.cs de una clase, que se encargue de implementar el codigo precedentemente escrito, en su constructor a los efectos de no escribir codigo repetido ni llamar a ningun metodo desde el page_load de cada pagina; ya que el constructor de la clase padre, se ejecuta primero que el de la clase derivada.

El esquema seria el siguiente:

public class MVC : System.Web.UI.Page
{
public MVC()
{
if (Session["LoginOK"] != null && !((bool)Session["LoginOK"]))
Response.Redirect("Login.aspx");
}
}

y Todas las paginas que hereden de esta, asi por ej:

public class WebForm1 : MVC
{
/*Todo el codigo de la pagina*/
}

No puedo implementar como solucion el evento session_end del global.asax ni un userControl (por questiones q no dependen de mi; mi jefe no quiere estas ultimas opciones)

En fin y para no robarte mas tiempo, la pregunta que trato de responderme es si existe alguna manera de utilizar en un constructor de una clase el Metodo Session[""]?, mas alla de que exista otra solución (seguro mejor) para resolver este tema.

Desde ya, te agradezco por responder. Saludos
  #4 (permalink)  
Antiguo 05/01/2006, 09:14
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
lo que intento hacer es acceder al metodo Session["LoginOK"] a los efectos de saber si el usuario esta logueado.
Mira.. te recomiendo que mejor leas acerca de los métodos de autenticacion.. el mas común en web es "Forms" y lo que debes hacer es guardar la info del cliente para que en cada peticion o donde la requieras hagas algo como ésto:

Cita:
if (Request.IsAuthenticated) {
...
No debes comparar con la session de si existe o no.. si no a través de la autenticacion de Forms...

Date una vuelta por aqui..
http://www.4guysfromrolla.com/webtech/110701-1.shtml
http://www.15seconds.com/issue/020220.htm

Saludos y cualquier cosa por aqui andamos..
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:54.