Validation of viewstate MAC failed

Anche a me è successo di imbattermi in questo errore.

In realtà è una cosa che può succedere solo con determinati webcontrol (GridView, DetailsView, FormView che usano la propretà DataKeyNames).

La motivazione è meglio spiegata qui, ma comunque è dovuta al fatto che questi webcontrol generano automaticamente del codice che richiede il viewstate criptato.

Questo può generare errori nel caso di una pagina che impiega molto tempo a caricarsi (il codice di criptazione è a fondo pagina) e che magari viene utilizzata da un utente "troppo veloce", oppure ancora nel caso di load balancing (tra server o anche solo tra web: quello che viene chiamato "web gardening").

Occorre quindi specificare, a livello di web.config, una machine key fissa (in modo che ne venga utilizzata una per sito e non una per macchina).

Info per generare una machine key qui.

Una buona panoramica del problema qui.

Print | posted on lunedì 31 marzo 2008 11.36

Feedback

# re: Validation of viewstate MAC failed

Left by mgutman at 31/03/2008 22.34
Gravatar grazie dei link Omar, tuttavia non mi è ancora chiara la faccenda, che necessiterà almeno una mattinata di googling e testing. E come al solito MS non sembra dare molto retta ai poveri developer, che ormai devono essere sempre un pò di puù anche sistemisti. Basta guardare la pagina del Connect dove dicono in pratica "grazie, grazie, ma siamo impegnati con la prossima versione, i bug di adesso non hanno priorità". Dovrebbero chiamarla "Connect with laziness"...

# re: Validation of viewstate MAC failed

Left by Sergio at 01/04/2008 9.29
Gravatar Omar. Io riscontro il problema in un sito su una sola pagina aspx e solo se uso Internet Explorer. Con Firefox il problema non si presenta. Ho provato ad aggiungere un machineKey ma non e' cambiato nulla. Ma la cosa strana e' che succede solo su una di n pagine di un sito, anche abbastanza semplice.
Mah.
Sergio

Your comment:





 
Please add 5 and 4 and type the answer here:

Copyright © Omar Damiani

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski