0

我正在尝试将 .NET MVC 应用程序部署到 GoDaddy 服务器。我的一个页面上有一个 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 设置为“始终”

<pages viewStateEncryptionMode="Always">

但是,我仍然收到错误消息,并且不知道下一步该做什么。任何建议将不胜感激。

4

1 回答 1

0

我终于弄明白了。我做了更多的谷歌搜索,发现如果我不清除浏览器上的缓存,它将保留无效的视图状态。显然,除非所有 chrome 浏览器窗口都关闭(我使用了很多 chrome 浏览器),即使缓存已被清除,chrome 在每个连续浏览器中都会保留一些相似的视图状态。

我发现代码通过在 Firefox 和 IE 中尝试它是成功的。然后我关闭了所有 chrome 窗口(清除缓存后)并重新启动。然后我能够成功导航到带有 AntiForgeryToken 的页面。

于 2011-07-11T02:11:58.627 回答