Jump to content

Recommended Posts

Posted

tengo un problema en un software q estoy parcheando, mis paginas.aspx tiran demasiado viewstate, por lo tanto hacen q la pagina termine siendo enorme en cantidad, algunos de los controles les puse la propiedad de VIEWSTATE = false, pero no se lo puedo poner a toda la pagina, ya que muchos de los controles si ocupan del viewstate, alguna idea alguien de como reducir la cantidad de viewstate q producen los aspx??

Posted

El VIEWSTATE esta habilitado por defecto en cada control y es aconsejable cuando se desarrolla la aplicacion deshabilitarlo si no es necesario ya que va como ya os has dado cuenta al final hace la página muy pesada... si la persona que desarrollo la aplicación en un principio no lo hizo pues creo que lamentablemente te toco la tediosa labor de identificar cuando se ocupa y cuando no para deshabilitarlo cuando no es necesario ya que no lo puedes deshabilitar en toda la página o aplicación... realmente no conosco otra forma de optimizar la página en ese sentido.

Posted

Cambie todos los webcontrols que pueda por HTML controls sin ViewState... Eso le ayuda bastante... Y asegurese de desactivar el ViewState en Grids, DataLists o Repeaters...

Si todavia necesita más, mueva todas las validaciones que pueda a javascripts en el lado del cliente para reducir el numero de post-backs...

Si todavia ocupa más: output, data y/o fragment caching le pueden servir...

Finalmente, si todavía necesita optimizar, reduzca el tamaño de la página, use CSS en lugar de tablas para el layout y en lugar de Javascript o DHTML para menus...

Saludos!

Posted

mae Allan el tema de: usar CSS en lugar de tablas para el layout, me interesa mucho pq no lo he explorado, aun sigo con las al parecer pasadas de moda tablas.

Algunos link para entrar en este tema?

Tuanis

Posted (edited)

hey muchas gracias por las sugerencias luego de buscar y buscar me encontre un buen articulo en Code Projects de un mae q hizo q en lugar de salvar el viewstate en el client sides lo hiciera en en el sesion del mae usando datatables, de esta forma de un aspx q mide 100k lo pude reducir a 60k, bastante bueno, ya q el viewstate sigue alli pero en la session por lo tanto la comunicacion del cliente con el el server se agiliza por la cantidad de ks q tiene q enviar y recibir ^^y aki les dejo el link por si quieren verlo:

ViewState on Session

gracias allan por el link de CCS!! :)

Edited by x[G]SGT
Posted

Mae SGT, no sabia ese toque, esta buenisimo...

Pero ojo que hay ciertos issues que pueden traerle problemas; los 3 objetos que se pueden usar (Cache, Application, Session) ya tienen una finalidad y una funcionalidad que podria perjudicar el ViewState...

En fin, esta muy bueno el toque para ahorrar bandwidth!

Posted

mae mmm de hecho vea q ese codigo hasta se puede mejorar, el mae usa datatables para el manejo de indices y poder extraer la vara mas rapida, pero creo o por lo menos he leido en otros lados q con un hashtable es mas eficiente y mas liviano asi q talvez para no hacer una cuello de botella del lado del server por el session, pues se puede mejorar el codigo del mae, q al final lo q hace es agarrar el viewstate y meterlo en algun objeto de coleccion.

Otra vara es q tambien para no recargar la memoria en el IIS se pueden guardar en alguna BD asi pues si no te molesta tanto conectarse a la BD pues se puede meter en la BD y luego sacarlos de alli aunque creo q seria mas lento.

y para finalizar vea q el mae puede guardar 150 viewstates, por medio del webconfig pues puedes decirle q guarde solo 100, y creo q se guarda 100 para cuando el mae hace back en el browser el viewstate no se pierda :) q era uno de los errores q tenia antes de ver la forma en como lo hace este mae... q si tenia guardado el viewstate en session pero se me perdia cuando me iba para otra pagina T_T

:P como siempre no todas las soluciones funcioinan para todas los problemas pero bueno este esta bueno :P

Guest
This topic is now closed to further replies.
×
×
  • Create New...