Il protocollo HTTP consente la navigabilità in internet, quando il browser (il client) chiede di visualizzare una pagina ad un dato indirizzo, il web server risponde inviandogliela, questo meccanismo però è senza stato, ovvero tra la richiesta di una pagina web e le successive non vi è alcuna relazione o dipendenza, il server scarica la pagina sul client e libera tutte le risorse non tenendo alcuna informazione su di essa, si dice che il protocollo http è stateless.
Sin quando si tratta di visualizzare delle semplici pagine html contenenti soltanto foto e testo questo meccanismo và più che bene, anzi è particolarmente performante poichè non impegna la banda e le risorse del server, ma col crescere d'internet un sito web è diventato una vera applicazione web, dove mantenere le informazioni tra una richiesta e l'altra è un'esigenza fondamentale per implementare funzionalità più avanzate, ecco allora che il protocollo http con la sua natura stateless mostra tutta la sua limitazione.
Nell'evoluzione dei linguaggi orientati al web si sono trovate ed adottate diverse soluzioni per sopperire alla mancanza di stato di http, ed anche ASP.NET ovviamente implementa tutta una serie di meccanismi per la "Gestione dello Stato", troviamo: i campi hidden, i cookies, il ViewState, le Session, l'Application; tutti con i propri pregi e difetti, o meglio con le proprie caratteristiche per essere usati adeguatamente a seconda del contesto. Tra questi meccanismi di Gestione dello Stato, un'importanza particolare è rivestita dal ViewState, abilitato di default sui controlli e sulle pagine aspx, tramite esso è possibile recuperare lo stato di un controllo tra un post back e l'altro. Non sempre però il ViewState è utile, ci sono casi in cui non serve, e disabilitarlo allegerisce la pagina di un sovraccarico inutile, allora, quando e come disabilitare il ViewState?
More...
8b5f10a3-f512-4c7d-89f0-7c7a3c72101b|0|.0