.Net经常出错的焦点问题:无法验证数据!求助高人这样的错误应该怎么解决呢?在线等待!解决立即结帖!

时间:2020-11-28 04:34:53
“/login”应用程序中的服务器错误。
无法验证数据。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Web.HttpException: 无法验证数据。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  


[HttpException (0x80004005): 无法验证数据。]
   System.Web.Configuration.MachineKey.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) +195
   System.Web.UI.LosFormatter.Deserialize(String input) +60

[HttpException (0x80004005): Authentication of viewstate failed.  1) If this is a cluster, edit <machineKey> configuration so all servers use the same validationKey and validation algorithm.  AutoGenerate cannot be used in a cluster.  2) Viewstate can only be posted back to the same page.  3) The viewstate for this page might be corrupted.]
   System.Web.UI.LosFormatter.Deserialize(String input) +117
   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +101

[HttpException (0x80004005): Invalid_Viewstate
Client IP: 218.19.87.95
Port: 50507
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
ViewState: dDwtOTkwNTU5ODM1O3Q8cDxsPEdldFByZVBhZ2U7PjtsPGh0dHA6Ly93d3cuaWZvdG8uY24vKHEwYXh4czU1aWJodm0xdTFnam5pbGh1dSkvTGlzdC5hc3B4Oz4+O2w8aTwxPjs+O2w8dDw7bDxpPDc+Oz47bDx0PHA8bDxWaXNpYmxlO2lubmVyaHRtbDs+O2w8bzx0PjtcPGZvbnQgY29sb3I9cmVkXD7lmaLvvIHkvaDovpPlhaXnmoTnlKjmiLflkI3miJbnlKjmiLflr4bnoIHplJnor6/vvIFcPC9mb250XD47Pj47Oz47Pj47Pj47bDxsb2dpbmJ1dHRvbjs+PuwUnMZoijrFjIem9LDKWgyl5U93
Http-Referer: http://www.ifoto.cn/login/index.aspx?photo=danis
Path: /login/index.aspx.]
   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +441
   System.Web.UI.Page.LoadPageViewState() +18
   System.Web.UI.Page.ProcessRequestMain() +447

20 个解决方案

#1


viewstate出现错误,是不是动态添加了控件?

#2


没有耶,老大

#3


帮你╭═══╮ ╭═══╮ ╭══════╮   
╰╮ ╭╯ ╰╮ ╭╯ ╰╮ ╭══╮╰╮  
 ║ ║   ║ ║   ║ ║  ╰╮╰╮ 
 ║ ║   ║ ║   ║ ║   ║ ║ 
 ║ ║   ║ ║   ║ ║   ║ ║ 
 ║ ║   ║ ║   ║ ║  ╭╯╭╯ 
 ║ ║   ║ ║   ║ ╰══╯╭╯  
 ║ ║   ║ ║   ║ ╭═══╯   
 ║ ║   ║ ║   ║ ║       
 ║ ║   ║ ║   ║ ║       
 ║ ║   ║ ║   ║ ║       
 ╰╮╰╮ ╭╯╭╯   ║ ║       
  ╰╮╰═╯╭╯   ╭╯ ╰╮      
   ╰═══╯    ╰═══╯

#4


地址下面,大家帮忙测试,有时点登陆就出现这样的页面,救命!!
http://www.ifoto.cn/login/index.aspx?photo=danis

真不知什么原因,只有来CSDN求高人帮忙了,很重要的问题。

#5


“/login”应用程序中的服务器错误。
--------------------------------------------------------------------------------

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

异常详细信息: System.Web.HttpException: 无法验证数据。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[HttpException (0x80004005): 无法验证数据。]
   System.Web.Configuration.MachineKey.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) +195
   System.Web.UI.LosFormatter.Deserialize(String input) +60

[HttpException (0x80004005): Authentication of viewstate failed.  1) If this is a cluster, edit <machineKey> configuration so all servers use the same validationKey and validation algorithm.  AutoGenerate cannot be used in a cluster.  2) Viewstate can only be posted back to the same page.  3) The viewstate for this page might be corrupted.]
   System.Web.UI.LosFormatter.Deserialize(String input) +118
   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +101

[HttpException (0x80004005): Invalid_Viewstate
Client IP: 218.19.87.95
Port: 50153
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
ViewState: dDwtOTkwNTU5ODM1O3Q8cDxsPEdldFByZVBhZ2U7PjtsPDs+PjtsPGk8MT47PjtsPHQ8O2w8aTw3Pjs+O2w8dDxwPGw8VmlzaWJsZTtpbm5lcmh0bWw7PjtsPG88dD47XDxmb250IGNvbG9yPXJlZFw+5Zmi77yB5L2g6L6T5YWl55qE55So5oi35ZCN5oiW55So5oi35a+G56CB6ZSZ6K+v77yBXDwvZm9udFw+Oz4+Ozs+Oz4+Oz4+O2w8bG9naW5idXR0b247Pj5d28ewkAB9SioKK57HGpC1IjMVOQ==
Http-Referer: http://www.ifoto.cn/login/index.aspx?photo=danis
Path: /login/index.aspx.]
   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +447
   System.Web.UI.Page.LoadPageViewState() +18
   System.Web.UI.Page.ProcessRequestMain() +447

 


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.2032; ASP.NET 版本:1.1.4322.2032

#6


这么详细的错误,CSDN 没高人可以解决吗? 这个是打上新的framework 8月31日补丁之后才能显示出的正确错误喔!

#7


UP

#8


关注~~~~~~~~

#9


关注~~~~~~~~

#10


重新拖那个控件进来,或者手工替换一下脚本。

#11


不会吧,是整个站点都出现此错误,怎么办?????????已经写了好几个系统的程序。
结果全部都出现此错误,估计了一下,大概有50多个控件,每个都这样搞不是死人了呀?

还有其它方法吗?高人

#12


发现一个问题,第一次点的时间不会错,但是第二次点的时间就会出错

#13


干吗老是去更新,打补丁吗.

#14


对啊,如果不更新的话,变成视图状态已损坏,无法保存  连显示具体错误的信息都没有啊,于是微软8月31日就出了.Net framework 升级版! 我装了之后显示了上面的具体错误。求高人鼎立相助呀!

#15


回复人: adminyao:

       你指的时间是什么呢?能具体说说吗?十万火急

#16


关注~~~~~~~~~~

#17


我一般按如下结构编写CS文件,请问有错吗?

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace login
{
/// <summary>
/// index 的摘要说明。
/// </summary>
public class index : System.Web.UI.Page
{
setup con=new setup();
string photo;
string GetPrePage;
string sql;
SqlCommand cmd;
SqlDataReader read;
protected System.Web.UI.WebControls.TextBox userid;
protected System.Web.UI.WebControls.TextBox password;
protected System.Web.UI.HtmlControls.HtmlGenericControl error;
protected System.Web.UI.WebControls.ImageButton loginbutton;
protected System.Web.UI.HtmlControls.HtmlForm Form1;

private void Page_Load(object sender, System.EventArgs e)
{
}

#18


关注~~~~~~~~~~

#19


偶也碰到,现终于解决了..如下:
     1.解决方法:在Page指令中设置禁止MAC(身份验证代码 ):
<% @ Page EnableViewStateMac="false">

   个人分析:当网页提交给本身时,服务器会通过MAC以检查视图的状态,看状态是否在客户端被更改.但这也就导至一个潜在的问题,即服务器端的状态一般保持时间很短,如果在服务器上状态消亡后再提交页面的话,就会造成MAC验证不通过,产生无法验证的错误提示.

   这个解决方法也存在很多麻烦,比如需要在每个提交给自身的页面加上这条指令.而且存在一些安全隐患,如有人恶意更改视图状态等.还望有谁能提供更佳的方案.

#20


我也碰到类似问题,看了帖子才明白是怎么回事.

但我想不应是此问题,因为页面默认的设置是<% @ Page EnableViewStateMac="false">.

----------------
大概有50多个控件,每个都这样搞不是死人了呀?
--
如果是此问题,直接加在WEB.CONFIG
 <pages  validateRequest="false" enableViewStateMac="false" />
注意大小写


#1


viewstate出现错误,是不是动态添加了控件?

#2


没有耶,老大

#3


帮你╭═══╮ ╭═══╮ ╭══════╮   
╰╮ ╭╯ ╰╮ ╭╯ ╰╮ ╭══╮╰╮  
 ║ ║   ║ ║   ║ ║  ╰╮╰╮ 
 ║ ║   ║ ║   ║ ║   ║ ║ 
 ║ ║   ║ ║   ║ ║   ║ ║ 
 ║ ║   ║ ║   ║ ║  ╭╯╭╯ 
 ║ ║   ║ ║   ║ ╰══╯╭╯  
 ║ ║   ║ ║   ║ ╭═══╯   
 ║ ║   ║ ║   ║ ║       
 ║ ║   ║ ║   ║ ║       
 ║ ║   ║ ║   ║ ║       
 ╰╮╰╮ ╭╯╭╯   ║ ║       
  ╰╮╰═╯╭╯   ╭╯ ╰╮      
   ╰═══╯    ╰═══╯

#4


地址下面,大家帮忙测试,有时点登陆就出现这样的页面,救命!!
http://www.ifoto.cn/login/index.aspx?photo=danis

真不知什么原因,只有来CSDN求高人帮忙了,很重要的问题。

#5


“/login”应用程序中的服务器错误。
--------------------------------------------------------------------------------

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

异常详细信息: System.Web.HttpException: 无法验证数据。

源错误: 

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  

堆栈跟踪: 


[HttpException (0x80004005): 无法验证数据。]
   System.Web.Configuration.MachineKey.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) +195
   System.Web.UI.LosFormatter.Deserialize(String input) +60

[HttpException (0x80004005): Authentication of viewstate failed.  1) If this is a cluster, edit <machineKey> configuration so all servers use the same validationKey and validation algorithm.  AutoGenerate cannot be used in a cluster.  2) Viewstate can only be posted back to the same page.  3) The viewstate for this page might be corrupted.]
   System.Web.UI.LosFormatter.Deserialize(String input) +118
   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +101

[HttpException (0x80004005): Invalid_Viewstate
Client IP: 218.19.87.95
Port: 50153
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
ViewState: dDwtOTkwNTU5ODM1O3Q8cDxsPEdldFByZVBhZ2U7PjtsPDs+PjtsPGk8MT47PjtsPHQ8O2w8aTw3Pjs+O2w8dDxwPGw8VmlzaWJsZTtpbm5lcmh0bWw7PjtsPG88dD47XDxmb250IGNvbG9yPXJlZFw+5Zmi77yB5L2g6L6T5YWl55qE55So5oi35ZCN5oiW55So5oi35a+G56CB6ZSZ6K+v77yBXDwvZm9udFw+Oz4+Ozs+Oz4+Oz4+O2w8bG9naW5idXR0b247Pj5d28ewkAB9SioKK57HGpC1IjMVOQ==
Http-Referer: http://www.ifoto.cn/login/index.aspx?photo=danis
Path: /login/index.aspx.]
   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +447
   System.Web.UI.Page.LoadPageViewState() +18
   System.Web.UI.Page.ProcessRequestMain() +447

 


--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.2032; ASP.NET 版本:1.1.4322.2032

#6


这么详细的错误,CSDN 没高人可以解决吗? 这个是打上新的framework 8月31日补丁之后才能显示出的正确错误喔!

#7


UP

#8


关注~~~~~~~~

#9


关注~~~~~~~~

#10


重新拖那个控件进来,或者手工替换一下脚本。

#11


不会吧,是整个站点都出现此错误,怎么办?????????已经写了好几个系统的程序。
结果全部都出现此错误,估计了一下,大概有50多个控件,每个都这样搞不是死人了呀?

还有其它方法吗?高人

#12


发现一个问题,第一次点的时间不会错,但是第二次点的时间就会出错

#13


干吗老是去更新,打补丁吗.

#14


对啊,如果不更新的话,变成视图状态已损坏,无法保存  连显示具体错误的信息都没有啊,于是微软8月31日就出了.Net framework 升级版! 我装了之后显示了上面的具体错误。求高人鼎立相助呀!

#15


回复人: adminyao:

       你指的时间是什么呢?能具体说说吗?十万火急

#16


关注~~~~~~~~~~

#17


我一般按如下结构编写CS文件,请问有错吗?

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
namespace login
{
/// <summary>
/// index 的摘要说明。
/// </summary>
public class index : System.Web.UI.Page
{
setup con=new setup();
string photo;
string GetPrePage;
string sql;
SqlCommand cmd;
SqlDataReader read;
protected System.Web.UI.WebControls.TextBox userid;
protected System.Web.UI.WebControls.TextBox password;
protected System.Web.UI.HtmlControls.HtmlGenericControl error;
protected System.Web.UI.WebControls.ImageButton loginbutton;
protected System.Web.UI.HtmlControls.HtmlForm Form1;

private void Page_Load(object sender, System.EventArgs e)
{
}

#18


关注~~~~~~~~~~

#19


偶也碰到,现终于解决了..如下:
     1.解决方法:在Page指令中设置禁止MAC(身份验证代码 ):
<% @ Page EnableViewStateMac="false">

   个人分析:当网页提交给本身时,服务器会通过MAC以检查视图的状态,看状态是否在客户端被更改.但这也就导至一个潜在的问题,即服务器端的状态一般保持时间很短,如果在服务器上状态消亡后再提交页面的话,就会造成MAC验证不通过,产生无法验证的错误提示.

   这个解决方法也存在很多麻烦,比如需要在每个提交给自身的页面加上这条指令.而且存在一些安全隐患,如有人恶意更改视图状态等.还望有谁能提供更佳的方案.

#20


我也碰到类似问题,看了帖子才明白是怎么回事.

但我想不应是此问题,因为页面默认的设置是<% @ Page EnableViewStateMac="false">.

----------------
大概有50多个控件,每个都这样搞不是死人了呀?
--
如果是此问题,直接加在WEB.CONFIG
 <pages  validateRequest="false" enableViewStateMac="false" />
注意大小写


#21