Foros del Web » Programación para mayores de 30 ;) » .NET »

Error en variable de sesion

Estas en el tema de Error en variable de sesion en el foro de .NET en Foros del Web. Buenos días a todos los amigos foreros. Mi duda es sobre una variable de sesion, lo que pasa es que en este codigo me va ...
  #1 (permalink)  
Antiguo 02/09/2011, 08:08
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Error en variable de sesion

Buenos días a todos los amigos foreros.
Mi duda es sobre una variable de sesion, lo que pasa es que en este codigo me va bien en google chrome o en IE versión 9 pero en versiones inferiores no funciona, se va al catch y me da error que dice: "Referencia a objeto no establecida como instancia de un objeto"
El codigo es el siguiente:

try
{
if ( Session["login"].Equals(true))
{
//Proceso
}
else
{
Response.Redirect("Default.aspx");
}
}
catch (Exception ex )
{
//genera log de error
}

Espero alguien me pueda ayudar, estoy algo perdido, muchas gracias de antemano por el tiempo y la ayuda que me puedan prestar!!
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #2 (permalink)  
Antiguo 02/09/2011, 12:50
 
Fecha de Ingreso: agosto-2009
Mensajes: 142
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Error en variable de sesion

Este error por lo generar sucede cuando intentas obtener un valor de una variable u objeto cuando este está vacío.
Lo que te puedo recomendar por el momento es que verifique el recorrido del código por medio de punto de depuración y verifique si en algún momento el valor de la variable cambia o se elimina.
También sería bueno que nos digas de qué forma les asigna el valor a la variable de sesión.
__________________
salomon
  #3 (permalink)  
Antiguo 02/09/2011, 13:08
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Error en variable de sesion

Gracias por responder, te cuento que la primera vez me funciona bien pero luego cuando ejecuto otra acción ya no, es ahí donde me da error.
De este modo asigno el contenido a la variable de session

if ( cl_reglas.csGeneral.fnLoginValidar( txtUsuario.Text.Trim(), txtContrasenia.Text.Trim() ) )
{
lblInfo.Visible = false;
Session[ "login" ] = true;
Session["ds_usuario"] = cl_reglas.csGeneral.strDSUsuario; //nombre de usuario
Session["id_usuario"] = cl_reglas.csGeneral.strIDUsuario; //id o cedula de usuario
Session["id_perfil"] = cl_reglas.csGeneral.strIDPerfil; //id o codigo perfil de usuario
Response.Redirect( "index.aspx" );
}

Como puedes ver lo asigno por variables que ya se llenaron con anterioridad con valores que arrojaron una función en una clase.

Muchas gracias por tu colaboración!!
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #4 (permalink)  
Antiguo 02/09/2011, 13:17
 
Fecha de Ingreso: agosto-2009
Mensajes: 142
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Error en variable de sesion

Te recomiendo asignar el valor de la variable de la siguiente forma:

Cita:
Session.add(“nombreVariable”,valorVariable)
Es bueno que investigue en google las desventajas que hay al utilizar variables de sesión
__________________
salomon
  #5 (permalink)  
Antiguo 02/09/2011, 13:43
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Error en variable de sesion

Muchas gracias, investigaré...
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #6 (permalink)  
Antiguo 02/09/2011, 15:57
 
Fecha de Ingreso: agosto-2011
Ubicación: Buenos Aires
Mensajes: 78
Antigüedad: 12 años, 8 meses
Puntos: 10
Respuesta: Error en variable de sesion

También es recomedable utilizar propiedades para acceder a variables de Sessión ó Querystring. De esta manera, dentro del bloque de código de la misma se puede realizar una validación de forma única sobre su valor y, en caso de ser nulo, retornar un valor por defecto como 0 ó String.Empty.
__________________
www.orientadoanet.com
  #7 (permalink)  
Antiguo 07/09/2011, 09:30
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Error en variable de sesion

Perfecto, muchas gracias ya solucione el problema, tal como dice laguzzigerardo opte por variables globales y listo, todo perfecto. muchas gracias por su ayuda.
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #8 (permalink)  
Antiguo 07/09/2011, 09:44
 
Fecha de Ingreso: agosto-2009
Mensajes: 142
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Error en variable de sesion

Variables globales? Mmmmm, te recomiendo que hagas pruebas profundas con cualquiera de las opciones que tomes ya que tanto las variables de sesiones, las cookies, variables globales, etc. Tienen sus usos particulares, ventajas y desventajas, es bueno que hagas prueba entrando a la página con diferentes sesiones (al mismo tiempo) y modificando algo con una sesión y con la otra, que tenga que ver con lo mismo, para ver qué pasa.
Considera también las cookies, aunque como todo, tiene sus ventajas y desventajas dependiendo del caso que quieras usar.
__________________
salomon

Etiquetas: variables
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 07:21.