按钮点击完,隔一段时间再去点的话,有时就会突然出现这个错误,但是重新打开浏览器再查看就不会了,
没有用到动态控件,也没有改写viewstate任何内容错误信息如下
无法验证数据。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: 无法验证数据。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪:
[HttpException (0x80004005): 无法验证数据。]
System.Web.Configuration.MachineKey.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) +196
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() +102[HttpException (0x80004005): Invalid_Viewstate
Client IP: 61.149.179.58
Port: 47265
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; MyIE2; .NET CLR 1.1.4322)
ViewState: dDwtMTkzNzYzNDI4Ozs+xIzdGigW04R/lN5Nxyo+Izj7Vvs=
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +448
System.Web.UI.Page.LoadPageViewState() +18
System.Web.UI.Page.ProcessRequestMain() +447
没有用到动态控件,也没有改写viewstate任何内容错误信息如下
无法验证数据。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: 无法验证数据。源错误: 执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 堆栈跟踪:
[HttpException (0x80004005): 无法验证数据。]
System.Web.Configuration.MachineKey.GetDecodedData(Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Int32& dataLength) +196
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() +102[HttpException (0x80004005): Invalid_Viewstate
Client IP: 61.149.179.58
Port: 47265
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; MyIE2; .NET CLR 1.1.4322)
ViewState: dDwtMTkzNzYzNDI4Ozs+xIzdGigW04R/lN5Nxyo+Izj7Vvs=
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +448
System.Web.UI.Page.LoadPageViewState() +18
System.Web.UI.Page.ProcessRequestMain() +447
解决方案 »
- 请教解决:未将对象引用设置到对象的实例
- 上传文件找不到文件的一部分
- 有关Request.Form的问题
- 求助!!!C#中越界问题
- 有关弹出框的问题
- 如何在web.config中的定义了转向自定义错误页面后,如何在这个自定义错误页面来捕捉到系统出现的错误,例子如下:
- 在程序中获取window.confirm 的返回值
- 请问怎样让datagrid绑定的datetime类型的字段,只显示yyyy-mm-mm格式的时间?
- TextBox的回车问题,急急急!!!!!!!!在线等待.................
- SqlDataReader读取数据如何实现分页(不用DataGird)?
- 在datagrid中的ItemCreated中如何拿到单元格的值? *********从来100分**********
- 上传文件的一段代码,看看那里错了
1.解决方法:在Page指令中设置禁止MAC(身份验证代码 ):
<% @ Page EnableViewStateMac="false"> 个人分析:当网页提交给本身时,服务器会通过MAC以检查视图的状态,看状态是否在客户端被更改.但这也就导至一个潜在的问题,即服务器端的状态一般保持时间很短,如果在服务器上状态消亡后再提交页面的话,就会造成MAC验证不通过,产生无法验证的错误提示. 这个解决方法也存在很多麻烦,比如需要在每个提交给自身的页面加上这条指令.而且存在一些安全隐患,如有人恶意更改视图状态等.还望有谁能提供更佳的方案.