Convalida di ViewStateMac

giovedì 03 ottobre 2013 - 11.59
Tag Elenco Tags  VB.NET  |  .NET 3.5

zseven Profilo | Senior Member

Ciao ragazzi,
ultimamente su quasi tutti i pannelli di controllo ospitati sul nostro server, quando i clienti provano a fare delle operazioni, gli viene restituito l'errore che vi scrivo di seguito:
Convalida di viewstate MAC non riuscita. Se questa applicazione è ospitata in una Web farm o in un cluster, verificare che la configurazione <machineKey> specifichi lo stesso validationKey e algoritmo di convalida. Impossibile utilizzare AutoGenerate in un cluster.

Le pagine sono davvero semplicissime, una non è altro che una gridview con la possibilità di modificare un campo dropdown e niente più, e fa comparire spessissimo questo errore.
Dico spessissimo perché se dopo l'errore torno indietro, faccio un refresh del browser e riprovo ad inserire di solito non lo fa più.

Ho provato ad inserire questa istruzione:
EnableViewStateMac="false"
ma non è servita a niente.

Sapete darmi qualche indicazione per risolvere una volta per tutte questo errore?
Grazie mille!
Guido

andrestu Profilo | Expert

prova ad inserire nel web.config questa riga all'interno della sezione <system.web>

<machineKey validation="SHA1" decryption="AES" decryptionKey="tua chiave generata" validationKey="tua chiave generata" />

ovviamente non posso rilasciarti le mie chiavi e non ricordo molto bene come le ho generate, guarda questi link forse ti sono di aiuto

http://aspnetresources.com/tools/machineKey
http://msdn.microsoft.com/en-us/library/ms998288.aspx#paght000007_webfarmdeploymentconsiderations

Andrea Restucci - Web Developer

zseven Profilo | Senior Member

Ciao grazie mille per la risposta.
Il primo link proprio generava tutta la stringa di codice per il web.config.

Solo una cosa non ho capito.
Queste chiavi sono per ogni singolo sito o valgono per tutti i siti ospitati sul server?

andrestu Profilo | Expert

be dipende da come gestisci i siti e il server-web, in una tradizionale configurazione ogni sito web ha il suo web.config quindi quella riga ha validità solo per il sito in questione, poi ovvio che ci saranno tecniche di condivisione del web.config tra siti diversi ma in questo caso credo che devi operare a livello di IIS

Andrea Restucci - Web Developer
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5