本文主要是介绍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) +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: 127.0.0.1 Port: 1893 User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322) ViewState: dDwxODY1NjIyNzA4O3Q8O2w8aTwwPjs+O2w8dDw7bDxpPDExPjtpPDEzPjs+O2w8dDx0PDtwPGw8aTwwPjs+O2w8cDzlhazlj7jlhoXpg6jlhazmlofkv53lr4Y75YWs5Y+45YaF6YOo5YWs5paH5L+d5a+GPjs+Pjs+Ozs+O3Q8dDw7cDxsPGk8MD47PjtsPHA85pmu6YCaO+aZrumAmj47Pj47Pjs7Pjs+Pjs+Pjs+vqqb2s1CQU9RlhOI9o607b+P3X4= Http-Referer: Path: /attachcs/upload.aspx.] System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +447 System.Web.UI.Page.LoadPageViewState() +18 System.Web.UI.Page.ProcessRequestMain() +447
|
解决方法:在page指令中设置禁止mac(身份验证代码): <% @ page enableviewstatemac="false">
视图状态消息身份验证代码 (MAC) 是一种身份验证标记(又称
校验值),当对消息同时应用身份验证方案和密钥时就会创建该代码。MAC 通过使用相同的密钥进行计算和验证。因此,MAC 仅能由预定的接收方验证。可以使用多种加密技术和算法来创建 MAC,如安全散列算法 (SHA)、消息摘要 5 (MD5) 算法或数据加密标准 (DES) 算法。
视图状态 MAC 功能用以防止客户发送含有恶意视图状态数据的请求。默认情况下,视图状态 MAC 功能通过使用 Machine.config 文件中的
enableViewStateMac="true" 标志启用。
要确定所遇到的问题是否与 MAC 有关,最简单的方式是将该功能关闭。为此,请将
enable ViewStateMac 标志设置为
False。如果不再遇到视图状态错误,则该问题与 MAC 有关。
这篇关于System.Web.HttpException: 无法验证数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!