Bookmark and Share

Tuesday, April 08, 2008

ViewState su Session aka "come risparmiare kbytes al browser"

Il ViewState di una vostra pagina inizia ad essere un compagno un po’ “ingombrante”?

Il Browser inizia a zoppicare quando deve caricare la vostra pagina?

La prima indicazione è capire perché il ViewState occupa tanto spazio, ma se proprio non potete farne a meno ecco qualche istruzione per spostarlo all’interno della session.

L’esempio è preso da un articolo del MSDN magazine Luglio 2006:

/// FIX X DIMENSIONE VIEWSTATE
/// <summary>
/// Evita caricamento VIEWSTATE nel browser
/// </summary>
/// <returns></returns>

protected override object LoadPageStateFromPersistenceMedium()
{
string key = Request.RawUrl + "_VIEWSTATE";
object state = Session[key];
return (state == null) ?
base.LoadPageStateFromPersistenceMedium() : state;
}

protected override void SavePageStateToPersistenceMedium(object viewState)
{
string key = Request.RawUrl + "_VIEWSTATE";
Session[key] = viewState;
}
/// FINE FIX X DIMENSIONE VIEWSTATE