22

De todos es sabido que uno de los handicaps de las páginas ASP.Net es la necesidad de almacenar en la misma la información de estado, lo que ocasiona un incremento significativo de su tamaño y el consiguiente aumento en el tráfico entre cliente y servidor.

Ya se dispone en el Core DNN de una opción para alojar la información de estado en memoria, pero esta configuración en entornos de hosting con un tamaño moderado de RAM suele provocar que el ViewState se recicle antes de lo previsto y la página quede "sin estado" lo que podría ocasionar la perdida de la funcionalidad de la página y en algunos casos la pérdida de información recientemente introducida por el usuario en la página.

El módulo que presentamos a continuación nos va a permitir alojar la información ViewState en archivos XML alojados en el servidor, lo que descargará a la página de la responsabilidad de mantener esta pesada información y mejoraremos significativamente su tiempo de carga en el explorador del cliente.

Open-ViewSate es un módulo gratuito (existe versión de pago en Snowcovered, pero no encuentro las diferencias, espero vuestros comentarios al respecto si las descubrís) que nos va a permitir la gestión de la información ViewState de nuestro sitio.

Con una instalación simple vía "Host > Definiciones de Módulos", bastará con insertar el módulo en una página de administración para poder configurar las propiedades del mismo.

Esta es la vista del módulo insertado en la página:

Aunque ofrece hasta tres opciones de proveedor de ViewState, hemos optado por XML Providers ya que es la que ofrece una mejor relación de recursos-rendimiento.

En las primeras pruebas y con la configuración por defecto de tres minutos para el tiempo de vida de los archivos ViewState, puede suceder que la información se recicle antes de lo previsto y que al usuario distraido que realiza otras tareas mientras escribe un nuevo mensaje en un foro, el tiempo de tres minutos sea insuficiente y cuando decida guardar sus cambios la página ya no disponga de la información de estado pertinente, perdiéndose todo el contenido introducido por el usuario en la página. Situaciones similares podrían darse en cualquier tarea de mantenimiento que requiera el envío de información de estado al servidor. Por este motivo se ha ajustado este valor a 30 minutos que es el tiempo configurado para el tiempo de vida de la sesión de usuario, habrá que prevenir en entornos con un gran volumen de visitas que los archivos generados para el mantenimiento de ViewState no ocupen un tamaño desmesurado que puedan desbordar los recursos del servidor, aunque este es un aspecto que en principio no merece mayor atención dado el moderado tamaño de los archivos.

La configuración también permite excluir determinadas URL's de la acción de este módulo de modo que no entre en conflicto con otros módulos que requieran otro tratamiento específico de la información de estado. Igualmente se permite configurar determinadas URL's para que la información de estado almacenada en el archivo no sea reescrita por la de una nueva solicitud y se mantengan todas las versiones de información de estado de la página, lo que podría ser práctico en determinadas situaciones.

Una última opción que ofrece es la de limpiar el código HTML de espacios en blanco contribuyendo a disminuir el tamaño de la transferencia.

Como conclusión, el módulo trabaja correctamente, minimiza el peso de las páginas y agiliza su transferencia hacia el cliente, si bien hay que tener en cuenta los problemas que ocasionará que la tarea del usuario sobre una página concreta se demore más de los minutos establecidos para el reciclado de archivos, ya que ésto provocará que la información enviada por el usuario se pierde irremediablemente.

Para descargar el módulo debes registrarte.

Vínculo a la página del módulo: http://www.opendnn.com/DNNModules/OpenViewState/tabid/110/Default.aspx 

Publicado en: Reviews de Módulos

Valoraciones

Comentarios

No hay comentarios actualmente para este artículo, sea el primero en publicar uno.

Enviar Comentario

Nombre (obligatorio)

Email (obligatorio)

Sitio web

Imagen CAPTCHA
Escriba el código mostrado más arriba: