我有一个为.NET 3.5构建的mvc2项目。我有一个我在4.0中编写的库,我需要3.5项目,所以我改变了目标框架,现在它抛出的防伪标记的任何地方:
viewstate MAC验证失败。如果此应用程序由a托管 Web场或群集,确保配置指定 相同的validationKey和验证算法。 AutoGenerate不能 在集群中使用。
我发现了这个question,但没有任何建议。我在配置中创建了一个静态机器密钥,但它没有帮助。任何人都知道可能是什么问题。我不明白为什么它之前工作正常。
答案 0 :(得分:4)
您必须关闭所有浏览器窗口才能继续。
AntiForgeryToken cookie是会话cookie,使用机器密钥加密/解密。如果机器密钥更改(或设置为自动生成),则呈现AntiForgeryToken将失败。
重新启动浏览器窗口将清除cookie,MVC将在下次创建一个新的有效cookie。