六合开奖结果现场直播欢迎诸位!收藏本站注 册登 陆
常用三肖中特马:基础知识网络知识操作系统WPS网页制作数据库算法网页成功之路网络安全最新技术古典mid流行midmid背景下载中心
您现在的位置:首页 > 三肖中特马 > 文章页

System.Web.HttpException: 验证视图状态MAC失败。如果此应用程序由网络场或群集承载,请确保配置指定了相同的validationKey和验证算法

Admin | 2010-8-11 10:07:57 | ReadNums | 8941 | 标签 asp.net | 打印本页
     

  当您的网站在提交信息到服务器数据库的时候,发生错误,出现如下提示:

  System.Web.HttpException: 验证视图状态MAC失败。如果此应用程序由网络场或群集承载,请确保配置指定了相同的validationKey和验证算法……

  出现这样的问题,请参阅下文,或许对您有所帮助。

  解决办法一

  直接修改web.config
  <pages validateRequest="true" styleSheetTheme="UserDefaultTheme">
  改为
  <pages validateRequest="false" styleSheetTheme="UserDefaultTheme">
  不行就改成这样
  <pages validateRequest="false" styleSheetTheme="UserDefaultTheme" enableEventValidation="false" viewStateEncryptionMode ="Never" >

  解决办法二

  找到网站运行根目录下的web.config文件,如下图加亮行所示加上相应的项。设置时,请自行修改KEY值,这关系到服务器的加密安全。图片看不清晰请点击图片查看。

  代码:<machineKey validation="SHA1" validationKey="78EA3850338FBADCE59D8DDF58C9E4518E7510149C46142D7AAD7F1AD49D95D4" decryptionKey="5FC88DFC24AE12BC" />

  原因:因为.NET在对客户端数据与服务器间传送过程中,需要对数据进行加密与解密,而加密与解密算法可以在web.config里进行配置,在web.config中,validationKey和decryptionKey的默认值是AutoGenerate,由系统随机生成密钥,如果在本地或者使用的是独立主机通常不会有什么问题,但是使用虚拟主机,一台服务器上有多个虚拟主机存在时就会出现以上问题,MSDN中也特别指出不能在群集中使用 AutoGenerate应该指定固定的密钥值,这就需要在web.config中添加关于machineKey的配置项,并手动设置其中的密钥值,这里请注意,不同加密算法对于密钥的最大字符长度是不同的,在这里能够使用的有AES,DES,3DES,SHA1,MD5,我只知道DES的密钥字符长度为16,3DES长度为48,手动设置时密钥长度必须等于其最大长度,否则会出错!至于密钥的16进制值可以随便输入。

  解决办法三

  出现这样的问题,极有可能是,您的登陆状态Session已经过期,也就是说登陆状态生效,但是,网站的转向登陆页面的代码未能正确转向,所以就出这样的问题。

  解决的办法就是,不用进行任何修改,只需要重新登陆就可以了。


问题未解决:在线咨询我要在线咨询问题

香港品特轩118822,com,

(访客)
内容实用原创,讲得很好。
20xx年x月x日
(站长)
有问题请在线咨询。
20xx年x月x日