Nel precedente post riguardante il viewstate, mi è stato chiesto da Lorenzo se fosse conveniente salvare il viewstate sul filesystem come proposto da Scott Mitchell.
Come prima risposta mi è venuto in mente che forse era una tecnica un pò dispendiosa, pensando ad un operazione di I/O ad ogni accesso alla pagina.
Poi, spinto dalla curiosità, mi sono documentato un pochino di più. E mi sono letto questi articoli sull'argomento:

- Understanding ASP.NET View State di Scott Micthell
- The ASP.NET View State di Dino Esposito
- Persisting View State to the File System di Justin Lovell

La tecnica descritta è sempre la stessa. Cioè quella di crearsi una propria classe che erediti dalla classe Page e riscrivere i metodi LoadPageStateFromPersistenceMedium() e SavePageStateToPersistenceMedium(object viewState) inserendo il codice per serializzare il viewstate e creare un nuovo file sul server, tramite le classi del namespace System.IO (il nome del file risultante, conterrà il session ID della richiesta).
Una volta creata la classe, tutte le pagine dell'applicazione dovranno ereditare da questa ...

<% @Page Language="C#" Inherits="Peppe.MyNewPage" %>

Ora che è tutto più chiaro, devo dire che la tecnica mi piace molto.
Inoltre ho trovato anche chi dice di salvare il viewstate all'intero della sessione, o all'interno della cache.
Avevo pensato di fare delle prove, ma c'è chi le ha gia fatte per me.
E indovinate chi ha vinto ?
La signora cache, con 169 richieste al secondo.