INFO: C# Asp.Net 3.5 Web Application, Windows Server 2008, SQL Server 2008
I am getting a (seemly) random error message reported by my users when they login to my web application or even when they are in my application and navigate to a new page. The exception occurs in some place I cannot seem to find and trap, so the user sees the exception page. The error reported in various forms report this:
"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."
I have done research about this, and let me clear up these points. The application is NOT on a server farm and it does NOT have "invalid" form actions.
The view state settings are:
"<sessionState mode="SQLServer" sqlConnectionString="{connectionstring}" cookieless="false" timeout="1200" />"
And does seem to work. I have looked at the application pool, but it has been set to only recycle at midnight.
The stack trace is:
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +106
System.Web.UI.ViewStateException.ThrowMacValidationError(Exception inner, String persistedState) +14
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +242
System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4
System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +37
System.Web.UI.HiddenFieldPageStatePersister.Load() +207
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +105
System.Web.UI.Page.LoadAllState() +43
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
System.Web.UI.Page.ProcessRequest() +80
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
Besides this random error, the application works great.
Thank you
but my application was running on web farm.
However, go to
http://www.asprunner.com/forums/topic/3379-validation-of-viewstate-mac-failed/
and one of the solution is
try to add this string in <system.web> section of your web.config file :
<pages validateRequest="false" enableEventValidation="fal
also have a look at
http://blogs.msdn.com/tess/archive/2009/04/14/validation-of-viewstate-mac-failed-after-installing-net-3-5-sp1.aspx