System.Web.Configuration.MachineKeySection.GetDecodedData中的"无法验证数据"异常是什么意思

Cia*_*ill 8 asp.net exception

我已经开发了一个测试localhost Cassini的网站,它一直运行良好,现在当我部署到我的网络服务器时,我间歇性地得到以下错误:

Global.Application_Error错误:请求期间发生异常: http://....blah.aspx无法验证数据.System.Web.Configuration.MachineKeySection.GetDecodedData(Byte [] buf,Byte [] modifier,Int32 start,Int32 length,Int32&dataLength)at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)HttpApplication.RaiseOnError => EventHandler .Invoke => Global.Application_Error

这是在我的global.asax中捕获的.我四处搜寻但找不到原因.这个异常是在非常简单和小的webforms中抛出的.该网站不在webfarm中托管.

2页似乎间歇性地导致此错误,其中一个在ViewState中存储bool,但除此之外不进行修改.

有没有人遇到过这个?

Ste*_*McD 11

http://dotnetcoderoom.wordpress.com/2008/11/07/unable-to-validate-data-aspnet-error/

原因:这个的根本原因是加密和解密视图状态数据时密钥的差异.假设一个asp.net使用key1呈现一个页面并将页面状态保存在视图状态,同时将asp.net的密钥更改为key2,现在当某个服务器端事件发生在页面上时,viewstate将被解密并且此错误将发生为由于加密密钥不同,旧视图状态现在无效.

当您打开一个页面时,可能会发生这种情况,之后会对其执行一些事件.

解决方法修复web.config文件中的密钥,以便只使用一个密钥来加密和解密视图状态数据.

欲了解更多信息,请访

http://www.experts-exchange.com/Programming/Programming_Languages/Dot_Net/ASP_DOT_NET/Q_21321364.html

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q312906

  • 我在 web.config 中也有一个机器关键元素,并且仍然得到这些。 (2认同)

Joe*_*rra 8

我在我的asp.net网络应用程序中"无法验证数据System.Web.Configuration.MachineKeySection.EncryptOrDecryptData".我清除了我的饼干,异常停止了.