Home » Categories » Multiple Categories

How to Solve an Error Message "Validation of viewstate MAC failed"

Usually we won’t got "Validation of viewstate MAC failed” error in our site all the time. Normally the site works fine and doesn't throw any errors if you load the site and use it at a regular pace. The error only occurs when you load the page, leave it for a while, and then continue working on the page without reloading or refreshing it. I discovered this error because I opened the site, began using it, left for lunch, came back an hour later, and when I resumed using it and did anything that caused postback, it immediately threw the above error. Unfortunately in order to re-create the error, I have to wait a while, which is very inconvenient for testing/troubleshooting. After a few hours of reasearch I found the solutions:

Error message:

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.


Solution:

Yet another very teasing issue ASP .Net developers face. Solution is pretty much simple.

Add following link in your web.config file.

<pages enableEventValidation="false" viewStateEncryptionMode="Never" />

Above line should be included within section.

OR

if you don't want this solution to implemented on project level then you can add these attribute to the page(Top most line of HTML view) directive of the page which is creating issue.

That means you have to add enableEventValidation="false" viewStateEncryptionMode="Never" in page directive.
Attachments Attachments
There are no attachments for this article.
Related Articles RSS Feed
My website session times out earlier than expected. Why?
Viewed 4439 times since Tue, May 1, 2012
Do you allow custom COM components?
Viewed 2351 times since Tue, May 1, 2012
About Azure Key Vault
Viewed 951 times since Mon, Nov 2, 2020
How do I query MySQL database in ASP.NET?
Viewed 12007 times since Tue, May 1, 2012
How do I redirect a subdomain to a subdirectory?
Viewed 3446 times since Tue, May 1, 2012
Sample Code to Send email using ASP.NET1.1
Viewed 4789 times since Tue, May 1, 2012