ASP.NET"无法验证数据"的解决方法
2008-05-13 10:21
519 查看
ASP.NET"无法验证数据"的解决方法
2008-04-02 12:04
2008-04-02 12:04
最近的系统经常遇到这种情况: 无法验证数据。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: 无法验证数据。 详细错误信息如下: “/”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 无法验证数据。 说明: 执行当前 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: 221.220.149.8 Port: 35829 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ViewState: dDwxNDU0MzMyNDY7dDw7bDxpPDE Oz47bDx0PDtsPGk8Mz47aTw1PjtpPDc O2k8MTQ O2k8MTY O2k8MjE O2k8MzQ Oz47bDx0PHQ8cDxwPGw8RGF0YVRleHRGaWVsZDtEYXRhVmFsdWVGaWVsZDs O2w8dG5hbWU7dHNpZDs Pjs O3Q8aTw3PjtAPC0t6YCJ5oupLS075paw6Ze76LWE6K6vO agj ebruaSreaKpTvkuqTnrqHlnKjnur875aSn5LyX5Lqk6YCaO i9pueVjOiwjeaKpTvnpL7ljLrmnI3liqE7PjtAPDA7MjszOzU7Njs3Ozg7Pj47bDxpPDE Oz4 Ozs O3Q8dDxwPHA8bDxEYXRhVGV4dEZpZWxkO0RhdGFWYWx1ZUZpZWxkOz47bDx0bmFtZTt0c2lkOz4 Oz47dDxpPDEwPjtAPOS7iuaXpeW/q iurzvlqpLkvZPogZTmkq0754Sm54K56K d6aKYO iIquepuuWKqOaAgTvpk4Hot6/ov5DovpM76ZW/6YCU5a6i6L QO S6rOWfjuW3tOWjqzvnmoTlo6vmg4XmgIA757K 5b2p6K665Z2bO Wlpei/kOS6pOmAmjs O0A8MjY7Mjc7Mjg7Mjk7MzA7MTA3OzEwODsxMDk7MTEwOzExMTs Pjs Ozs O3Q8cDxwPGw8VGV4dDs O2w85aSn6LSn5Y N5omj6Lev6L655LiK5ryU4oCc5aSp5aWz5pWj6Iqx4oCdOz4 Oz47Oz47dDxwPHA8bDxUZXh0Oz47bDwxNDs Pjs Ozs O3Q8cDxwPGw8VGV4dDs O2w8Mjg7Pj47Pjs7Pjt0PHQ8cDxwPGw8RGF0YVRleHRGaWVsZDtEYXRhVmFsdWVGaWVsZDs O2w8YW5hbWU7YW5hbWU7Pj47Pjt0PGk8NT47QDxhZG1pbjvmtYvor5U757qi57u/54GvO S6pOeuoeWxgDvmnaXoh6rnvZHnu5w7PjtAPGFkbWluO a1i ivlTvnuqLnu7/nga875Lqk566h5bGAO adpeiHque9kee7nDs Pjs Ozs O3Q8QDA8cDxsPERvd25sZXZlbE1vZGU7PjtsPEZyZWVUZXh0Qm94Q29udHJvbHMuRG93bmxldmVsTW9kZSwgRnJlZVRleHRCb3gsIFZlcnNpb249MS42LjMuMjYwNzMsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49bnVsbDxUZXh0QXJlYT47Pj47Ozs Ozs Oz4 Oz4 O2w8Q2hlY2tCb3gxO0ZyZWVUZXh0Qm94Mjs PtVedNMPQAsq1me9qBgT6ptzpEvP Http-Referer: http://www.hld122.com/web/adminihld/addNews.aspx Path: /web/adminihld/addNews.aspx.] System.Web.UI.Page.LoadPageStateFromPersistenceMedium() 448 System.Web.UI.Page.LoadPageViewState() 18 System.Web.UI.Page.ProcessRequestMain() 447 -------------------------------------------------------------------------------- 版本信息: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300 经过在网上搜索,并测试,找到三种解决“无法验证数据”问题的方法: 1、设置web.config文件: 找到 <pages validateRequest="false"/> 替换成 1 <pages validateRequest="false" enableViewStateMac="false"/> 2、在出错的页面(**.aspx)修改代码成下面这样的: <%@Page EnableViewStateMac="false"> 3、修改machine.config文件(不推荐采用此方法): 此文件位于:C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/CONFIG/machine.config,找到“enableViewStateMac="true"”,改成“enableViewStateMac="false"” 关于此问题的解释: 视图状态消息身份验证代码 (MAC) 是一种身份验证标记(又称校验值),当对消息同时应用身份验证方案和密钥时就会创建该代码。MAC 通过使用相同的密钥进行计算和验证。因此,MAC 仅能由预定的接收方验证。可以使用多种加密技术和算法来创建 MAC,如安全散列算法 (SHA)、消息摘要 5 (MD5) 算法或数据加密标准 (DES) 算法。 视图状态 MAC 功能用以防止客户发送含有恶意视图状态数据的请求。默认情况下,视图状态 MAC 功能通过使用 Machine.config 文件中的 enableViewStateMac="true" 标志启用。 要确定所遇到的问题是否与 MAC 有关,最简单的方式是将该功能关闭。为此,请将 enable ViewStateMac 标志设置为 False。如果不再遇到视图状态错误,则该问题与 MAC 有关。 |
相关文章推荐
- ASP.NET"无法验证数据"解决方法(负载均衡)
- 【.Net码农】Asp.Net异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法
- "ASP.NET Development Server无法开始侦听端口:XXXX"问题的解决方法
- ASP.NET Entity Framework 查询数据表多个"s"的解决方法。
- "ASP.NET Development Server无法开始侦听端口:XXXX"问题的解决方法
- asp.net"访问被拒绝,程序集无法加载"原因与解决方法[摘录]
- asp.net运行出错:"试图运行项目时出错:无法启动调试。绑定句柄无效"怎么解决?
- Asp.net出错提示"无法找到脚本"/aspnet_client/syste..."解决办法
- 收藏:Asp.Net 连接Oracle数据库 出现"找不到 Oracle 客户端和网络组件" 彻底解决方法!
- asp.net ajax 错误:"sys"未定义问题 解决的方法
- Asp.Net异常:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"的解决方法
- asp.net"服务器应用程序不可用"解决方法
- ASP.NET 2.0 "无法显示XML页"解决办法
- [收藏]Asp.Net 连接Oracle数据库 出现"找到 Oracle 客户端和网络组件" 彻底解决方法!
- Asp.net MVC 示例项目"Suteki.Shop"分析之---数据验证
- ASP.net中"名称以无效字符开头"问题解决方法
- 在asp.net中使用ajax时出现的"'Sys' 未定义"的解决方法
- 如何解决asp.net中使用webbrowser是出现的"无法实例化ActiveX 控件"的异常"
- 针对“【ASP.NET】"密码最短长度为7,其中必须包含以下非字母数字字符1"解决方法
- ASP.NET无法识别的配置节"connectionStrings"的解决方法