验证视图状态 MAC 失败 ( Validation of viewstate MAC failed )
ASP.NET站点发布后,遇到如下错误:“验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate”。
- 原因
ASP.Net的 runat='server' 会对ViewStat进行MAC的加密,使得提交数据时只能对同一页面进行。 - 处理方法
- 在接收页加上 @ page EnableViewStateMac="false"
或者 enableEventValidation="false" viewStateEncryptionMode ="Never" - 当然也可以在web.config的节点里加入:
<system.web>
<pages enableEventValidation="false" viewStateEncryptionMode="Never" />
</system.web>