La Web del Programador: Comunidad de Programadores
 
    Pregunta:  53301 - COSTO DE ALMACENAR VALORES EN SESSION
Autor:  Diego Armando Gomez
Como están.

Les formulo la siguiente duda, esperando que su aclaración nos sirva de ayuda a todos.

Que es mas costoso para una maquina que es servidor Web: Almacenar el valor de una variable ( puede ser un int, o un conjunto de ellas ) en la sesión que se crea al conectarse el usuario, o enviar estos valores en el viewState?

La duda me nace, pues si bien, un conjunto de enteros almacenados por sesión para muchos usuarios representa un consumo de memoria, por el otro lado, la info del viewState viaja cada vez entre el servidor y el cliente, congestionando la tarjeta de red de la maquina, generando re-proceso y forzando el parseo de mas datos cada vez que hay un request.

Alguien ha tenido alguna experiencia real, conoce algún documento técnico o algún articulo que hable o haga algún análisis sobre el tema?

Gracias.

  Respuesta:  Carlos Manuel C. Umanzor
hay varias cosas que debes considerar por ejemplo:

Cuantas variables son las que vas a tener en una sesion?
Que tan grande son cada una?

ya que si es verdad el viewstate te permite manter el objeto, por mas tiempo que el session, pero la penalidad es el tráfico.

debieras considerar opciones como:
si es mucha la data, serialízala y guardala en Dase de datos
ó
Comprime el ViewState

Realmente no me gusta usar mucho las variables de session a menos que sea realmente necesario, al igual que los view states