我正在尝试在GoDaddy服务器上部署一个.NET MVC应用程序。我的一个页面上有一个Html.AntiForgeryToken,每次我点击它时都会抛出一个异常。
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.我已经使用以下URL生成了一个机器密钥
http://aspnetresources.com/tools/machineKey并将页面viewStateEncryptionMode设置为"Always“
<pages viewStateEncryptionMode="Always">然而,我仍然收到这个错误,不知道下一步该怎么做。任何建议都将不胜感激。
发布于 2011-07-11 10:11:59
我终于想通了。我做了更多的谷歌搜索,发现如果我不清除浏览器上的缓存,它将保留无效的视图状态。显然,除非所有的chrome浏览器窗口都被关闭了(我使用了很多chrome浏览器),即使缓存被清除了,chrome也会在每个连续的浏览器中保留一些类似的视图状态。
通过在Firefox和IE中尝试,我发现代码工作正常,并取得了成功。然后我关闭了所有的chrome窗口(在清除缓存之后)并重新启动。然后,我就可以成功地导航到包含AntiForgeryToken的页面。
https://stackoverflow.com/questions/6642625
复制相似问题