ViewState: Cómo cambiar donde almacenarlo

Creado el día 18/01/2008 11:26 por zorry

Como bien sabéis, el ViewState se almacena en un campo hidden en las páginas, de manera que el navegador cliente es el que recibe y envía todos los datos del ViewState, persistiendo el estado de la página entre PostBacks.

Este escenario es el más aceptable en líneas generales. Pero si tenemos poco ancho de banda, podríamos cambiar el lugar donde almacenar el ViewState y almacenarlo en la sesión. Para ello, en la página que queramos configurar su ViewState sólo tenemos que implementar el siguiente código:

   1: protected override PageStatePersister PageStatePersister
   2: {
   3:     get 
   4:     {
   5:          return new SessionPageStatePersister(this);
   6:     }
   7: }

De todos modos, es necesario tener cuidado y valorar bien cuántos usuarios ejecutarán nuestra aplicación y cuantos datos se almacenan en sesión, puesto que es posible que si nuestra aplicación albergará muchos usuarios y se guardan muchos datos en sesión, se sobrecargue en exceso el servidor web.


Comentarios (2) -

Creado el día 06/03/2008 17:01 por Jesus Jimenez |

Jejeje, curioso, no lo sabía. Y ya rizando el rizo si tienes configurada tu aplicacion para que te guarde la sesion en base de datos en vez de en memoria, estarías guardando el ViewState en base de datos, ¿no?

Aunque igual lo que ganas al no enviar el ViewState a cliente lo pierdes accediendo a base de datos.

Un saludo,

PD. Me encanta el diseño de tu blog, muy limpio. Laughing

Creado el día 07/03/2008 04:02 por zorry |

Efectivamente, hay que evaluar cuantos datos guardamos y pensar con mucho cuidado cuantos usuarios accederán a nuestra aplicación.

Si tenemos una aplicación que guarda muchos datos en sesión y en viewstate y además es una aplicación que utilizarán muchos usuarios concurrentemente, y decidimos almacenar los datos en base de datos, este puede convertirse en cuello de botella.

Gracias por tu feedback, Jesús. Tengo pendiente terminar de traducir el motor, a ver si en un par de fin de semanas hago tiempo. Smile

No se aceptan más comentarios