Lor*_*nzo 10 asp.net-mvc asp.net-mvc-2
现在开始表单,第一次,当我开始调试我的MVC应用程序时,我收到此错误
验证视图状态MAC失败.如果此应用程序由Web场或群集托管,请确保配置指定相同的validationKey和验证算法.AutoGenerate不能在群集中使用.
完整堆栈跟踪
[ViewStateException: Invalid viewstate.
Client IP: 127.0.0.1
Port:
Referer:
Path: /Login/LogOn
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.41 Safari/534.7
ViewState: Fvq7WNUu+qCC00VbTIOTUuBvK4YHjxp3RubwsrFYW93hKlF7I4GLzaNHceRqjjJB0GwvRPWwlwE6brhAZAo+Mp191B/C+l8Dw/w7aQBDCpWGC3ox6hkSeZp10vbjm9eJFQZmGSPyC1rKYwApBBaz0Q==]
[HttpException (0x80004005): 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.]
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +198
System.Web.UI.ViewStateException.ThrowMacValidationError(Exception inner, String persistedState) +14
System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +274
System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4
System.Web.Mvc.AntiForgeryDataSerializer.Deserialize(String serializedToken) +176
Run Code Online (Sandbox Code Playgroud)
这意味着什么?
请注意:错误仅在调试期间发生.当我在本地IIS上部署应用程序时,一切正常.它出现在我的母版页中的以下代码中
<form id="__AjaxAntiForgeryForm" action="#" method="post">
<%= Html.AntiForgeryToken() %>
</form>
Run Code Online (Sandbox Code Playgroud)
发生这种情况的直接原因是防伪 cookie 失效。关闭并重新打开浏览器应该可以解决该问题。您也可以尝试删除与您的测试站点关联的 cookie。
现在就根本原因而言,这种情况通常会发生,因为
这些听起来很熟悉吗?
| 归档时间: |
|
| 查看次数: |
1126 次 |
| 最近记录: |