今天又遇到了类似的问题了,异常信息也是类似的(记不太清楚了,好像是有点不一样)提示信息是这样的:
Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.Web.HttpException: Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.
在记录的中文日志是说:数据无法验证
可是这回不一样了,把EnableViewStateMac设为false,还不能解决问题,还会出现另一个异常提示:
The state information is invalid for this page and might be corrupted.
网上也搜出一堆这样的问题,可是没有更好的解释了(就算有也看不懂)。 想到是加密解密的问题,看到<pages>节点下还有一个viewStateEncryptionMode属性,于是就把它设为
Never 。再一试,问题就解决了,不出错了。可是不出错了,也改了默认配置了,也不加密了,也不验证了,那会不会产生新的,更严重的问题--------安全性问题?