asp.net 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载

错误的完整提示是:验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。

今天碰到这样的问题,跟往常一样记录下来解决办法,以防止以后在次遇到这样的问题。

出现了这个问题google了一下,很多帖出来的解决方法都是如下这样的

1:修改当前页面的@page属性,添加enableEventValidation="false" viewStateEncryptionMode="Never"
或者在web.config里添加<pages enableEventValidation="false" viewStateEncryptionMode="Never" />
2:在web.config里指定validationKey和验证算法
<machineKey validation="3DES" validationKey="319B474B1D2B7A87C996B280450BB36506A95AEDF9B51211" decryption="3DES" decryptionKey="280450BB36319B474C996B506A95AEDF9B51211B1D2B7A87" />

但是我按照上面使用方法进行了修改,结果还是一样报错。只有少数的解决方法才解决了问题,正确的方法应该是:

修改当前页面的@page属性,添加enableEventValidation="false" enableViewStateMac="false"
或者在web.config里添加<pages enableEventValidation="false" enableViewStateMac="false" />

posted @ 2010-05-04 16:14  longgel  阅读(1239)  评论(0编辑  收藏  举报