La Web del Programador: Comunidad de Programadores
 
    Pregunta:  53306 - SESION O VIEW ESTATE ?
Autor:  Diego Armando
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:  Rommel Meza
Saludos,

Tu pregunta es muy valida ha sido discutida por mucho tiempo, lo primero es conocer la diferencia en como trabajan una de la otra OK.

Session: No es más que una Cookie si el usuario no acepta cookies esta opción esta fuera.
ViewState: Es un campo que se agrega al html donde .Net almacena el estado de los controles de la pantalla y es posible almacenar valores dentro de este campo para no utilizar una session (Cookie).

En lo personal yo prefiero siempre el uso de la session ya que no me gusta tener revolver este tipo de peticiones, en cuanto a que es mas costoso depende de que tipo de información se vaya a querer almacenar. Si la información es poca recomiendo la session pero si quieren almacenar un DataSource (Lo he visto jajaja) o mucha información que pueda saturar el servidor les recomiendo mejor el uso del ViewState.

Con esto no les estoy diciendo que almacenen mucha información de pantalla a pantalla lo mejor es crear una buena lógica donde el intercambio de información sea mínimo.

Suerte.

CX-Rom http://cx-rom.blogspot.com