1
Answer

Validation of ViewState MAC failed /Timeout

Photo of Craig Davis

Craig Davis

13y
3.8k
1
My website produces this error: Validation of Viewstate MAC failed: If website is hosted by Web Farm or cluster.....

I researched this on the Internet and modified my code by:

changing my web.config file by:
<pages validateRequest="false" enableEventValidation="false" viewStateEncryptionMode ="Never" />

When this didn't work I added the the following method (coded sourced from  Internet):

protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
System.IO.StringWriter stringWriter = new System.IO.StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);
base.Render(htmlWriter);
string html = stringWriter.ToString();
string[] aspnet_formelems = new string[5];
aspnet_formelems[0] = "__EVENTTARGET";
aspnet_formelems[1] = "__EVENTARGUMENT";
aspnet_formelems[2] = "__VIEWSTATE";
aspnet_formelems[3] = "__EVENTVALIDATION";
aspnet_formelems[4] = "__VIEWSTATEENCRYPTED";
foreach (string elem in aspnet_formelems)
{
//Response.Write("input type=""hidden"" name=""" & abc.ToString & """")
int StartPoint = html.IndexOf("<input type=\"hidden\" name=\"" +
elem.ToString() + "\"");
if (StartPoint >= 0)
{
//does __VIEWSTATE exist?
int EndPoint = html.IndexOf("/>", StartPoint) + 2;
string ViewStateInput = html.Substring(StartPoint, EndPoint - StartPoint);
html = html.Remove(StartPoint, EndPoint - StartPoint);
int FormStart = html.IndexOf("<form");
int EndForm = html.IndexOf(">", FormStart) + 1;
if (EndForm >= 0)
html = html.Insert(EndForm, ViewStateInput);
}
}

writer.Write(html);
}

to render the hidden viewstate form values to the top of the form so if my page loads slowly these form values get processed first and are not omitted during an event trigger.  This didn't work either.

I noticed that these error messages appear when my webpages is idle after twenty minutes.  Could this be a timeout issue? 

Answers (1)

0
Photo of piyush sardhara
NA 195 25k 13y
use java script printpartofpage() function to use i will submit blog to check it in my account other wise to serch
Next Recommended Forum