无法验证数据。执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息

无法验证数据。    
  说明:   执行当前   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  
  User-Agent:   Mozilla/4.0   (compatible;   MSIE   6.0;   Windows   NT   5.2;   .NET   CLR   1.1.4322)  
        System.Web.UI.Page.LoadPageStateFromPersistenceMedium()   +442  
        System.Web.UI.Page.LoadPageViewState()   +18  
        System.Web.UI.Page.ProcessRequestMain()   +447  

解决方案

解决方法:在Page指令中设置禁止MAC(身份验证代码   ):  
  <%   @   Page   EnableViewStateMac="false">  
   
        个人分析:当网页提交给本身时,服务器会通过MAC以检查视图的状态,看状态是否在客户端被更改.但这也就导至一个潜在的问题,即服务器端的状态一般保持时间很短,如果在服务器上状态消亡后再提交页面的话,就会造成MAC验证不通过,产生无法验证的错误提示.  
   
        这个解决方法也存在很多麻烦,比如需要在每个提交给自身的页面加上这条指令.而且存在一些安全隐患,如有人恶意更改视图状态等. 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值