Este erro ocorre geralmente quando a página fica aberta e depois de um longo período de tempo clicamos em algo que aciona o submit do form.
Como o ViewState contém dados criptografados e geralmente no web.config a machineKey está com o validationKey="AutoGenerate". E de tempos em tempos o .Net muda estas chaves, os dados criptografados do ViewState não podem mais ser descriptografados e gera este erro.
Não sei diser de quanto em quanto tempo essa chave muda, em alguns casos, a cada dia, em outros, em poucos minutos..
Para resolver o erro "Validation of viewstate MAC failed", é basicamente simples.
Acesse este site http://aspnetresources.com/tools/machineKey
Esta ferramenta permite a você gerar chaves aleatórias para validação do ViewState, após gerar estas chaves, copie e adicione (ou altere, caso já exista) no web.config.
Exemplo:
<?xml version="1.0"?>
<configuration>
<system.web>
<machineKey validationKey="668E7053A67FB31446DBEC83B3F57AD0252F9671BD313D41FBD571FD0B6C599252FDCBE8E3358CA7FC79F2AF4AC4E2DF4C4E2A78D77DB582F3D0739E2AF1C443"
decryptionKey="6F376C11CC7A869CF357C3A3A8DF33CBCA3DB23818C7E816C0E62C36EAC56B1B" validation="SHA1" decryption="AES"/>
</configuration>
Assim a machineKey ficará fixa e este erro não acontecerá mais.
Referência:
Server Error in '/' Application.
Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Web.HttpException: Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.
Source Error:
[No relevant source lines]
|