验证视图状态 MAC 失败

原创 2007年09月18日 09:33:00

今天在开发时出错:

原因:在Asp.net中想和Asp一样,将一个页的Form值到达另一页去处理,出错了以下错误

代码:a.aspx页中
function CheckItem()
{
    var url="b.aspx";
    document.form1.action = url;
    document.form1.submit();
}

<form id='form1' runat="server" method="post">
  <asp:TextButton  id="txt_name" runat="server" value="abc" />
</form>
b.aspx.cs页中
private void InitItem()
{
    string name = Request["txt_name"];
}

验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。

源错误:

[没有相关的源行]

源文件: c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/chinamobilecard/3dbb6c23/2ef444c/App_Web_nekzrvyt.10.cs    行: 0

堆栈跟踪:

[HttpException (0x80004005): 无法验证数据。]
System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Boolean useValidationSymAlgo) +353
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +136

[ViewStateException: 无效的视图状态。
Client IP: 127.0.0.1
Port:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 1.1.4322)
ViewState: MtyJjwMoAUL26uFr/ag9wuds00UGEdARYOwvl+Kn3oGmdIA4K6YPAoGgLsgLRhB6rT2T2TCC0CKfjekDyaT4LFw4kIaGTELuRgp+49YsRi+bUV7SiyoUU5ofw2Fbj0teQnjGH/T/9+78VjcCqXiBGAfDbL02Wjo1rDQdY4ugtkr3/Jrx4hpt891VPyF6LAtT4BO+Ghlcdn7rFp0r0mco37G7YVr3xpEjRCiaOTOtxc69ySEmv+vvywUfjJoRu4rIK5t60ZGc9w3PAsrnqt3H/h9N77r/oDjdB96O3psC6G3WKt10ap4cBAiuKMnJxWF1g01pg3iHx/KTWIwh1KRpz9+0IoIgeop29i4lGTNMwXb4DPN+oaYK4XDBsTIVhPbMa80h2vmwdoqjMNvhyKV5G2CAgzItyFI30f0dMpcV2GRcz7J+YruM/u7hsK/38QIWk+GZTSly83MOsfpDChyjBOUi/B5R/TPsPWRYitgGq5MXKe52mpqcSZ+XtYf6JlO3R2F+gzcvnzmDImJVA0JyPpKYxa6ZhdFbI90jp22r7Ttai2OmuWnxzhTHml3oFqSCSND+idqpD0wsh+Bw64vbnVV7PQQ26kAWWA14SJD3vXJmI+1sjQ2FJ2WXamBbsqZOwgdGrdcBdkx+LkeLJVHUjfperTd/3RqWCPnGhLSIbML0vv0KpB/GESrZATuVs1cinVS3R+M7oBPL0wGu0YGUItRmxpvJidAnW89h3Gp41xuSWYM2L0MAlzpnBrxZqSSYF/DYJukHyfz6LWgfFL6i90aJyWRjQ+5EalE8P79jGdmy+ohj5V8m3lzKUvrMe/9ZwA3A9E4l6ZUSgNpGKHD48wktZ7ydIGmAhx...]

[HttpException (0x80004005): 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。]
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +119
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +235
System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +5
System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +37
System.Web.UI.HiddenFieldPageStatePersister.Load() +222
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +80
System.Web.UI.Page.LoadAllState() +35
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +8008
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +202
System.Web.UI.Page.ProcessRequest() +85
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +20
System.Web.UI.Page.ProcessRequest(HttpContext context) +110
ASP.photo_create_aspx.ProcessRequest(HttpContext context) in c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/chinamobilecard/3dbb6c23/2ef444c/App_Web_nekzrvyt.10.cs:0
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +390
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +65
 

解决方法:
在b.aspx 页的<@page>中加入 EnableViewStateMac="false"
原因是:因为ViewState在.net 2005中没有自动开启,所以出错这个错误!

相关文章推荐

验证视图状态 MAC 失败的解决办法

昨天用户反应系统中有问题,问题就在于翻页的时候,系统会报以下错误。但是我们的系统已经上线1年多了,从来没出现过错误,怎么会出现错误呢? 于是开始检测,查找原因。 1. 出错提示 “/”应...

验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <ma...

验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。说明: 执行当前 Web ...

验证视图状态 MAC 失败,解决方法

错误信息     今天调试一个带cookie表单提交的页面时,浏览器中报错提示:验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 配置指定了相同的 validationKey 和...

验证视图状态 MAC 失败

做登录页面时, ,结果submit时总是出现如下问题: 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 配置指定了相同的 validationKey 和验证算法。不能在群...

验证视图状态 MAC 失败解决方法

验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。  运行时...

System.Web.HttpException: 验证视图状态MAC失败。如果此应用程序由网络场或群集承载,请确保配置指定了相同的validationKey和验证算法……解决方案

最近在做一个项目,准备提交的时候突然遇到这样的错误,感觉很郁闷,搜了很多资料,搜到一下解决方案:   当网站在提交信息到服务器数据库的时候,发生错误,出现如下提示:     出现这样的问题,...
  • wumiju
  • wumiju
  • 2011年11月09日 09:18
  • 3716

验证视图MAC失败 Validation of ViewState MAC Failed

验证视图MAC失败 Validation of ViewState MAC Failed 今天在调试Atlas时遇到错误: 验证视图MAC失败。如果此引用程序由网络场或群集承载,请确保配置指定...

推送证书状态异常或者验证失败处理办法

本人菜鸟一名,大神勿喷。
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:验证视图状态 MAC 失败
举报原因:
原因补充:

(最多只允许输入30个字)