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 3296 times since Tue, May 1, 2012
I receive this error message: "Directory Listing Denied. This Virtual Directory does not allow contents to be listed."
Viewed 5158 times since Mon, Apr 30, 2012
I cannot see my website. What should I do?
Viewed 2446 times since Thu, May 3, 2012
How do I query MySQL Database in PHP ?
Viewed 1844 times since Tue, May 1, 2012
I get an error Server.CreateObject Failed when I try to use CDONTs. What can I do?
Viewed 1781 times since Tue, May 1, 2012