asp.net-mvc – MVC应用程序调试错误:viewstate MAC的验证失败
|
从现在开始,我第一次在开始调试我的MVC应用程序时收到这个错误
全堆栈跟踪 [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
这是什么意思? 请注意:错误仅在调试期间发生.当我在本地IIS部署应用程序时,一切正常.它显示在我的母版页面的以下代码中 <form id="__AjaxAntiForgeryForm" action="#" method="post">
<%= Html.AntiForgeryToken() %>
</form>
解决方法发生这种情况的直接原因是因为防伪cookie无效.关闭并重新打开浏览器应该可以解决问题.您也可以尝试删除与测试站点相关联的cookie.现在为了根本原因,这通常是因为 >你在一个网络农场场景中,你的各种服务器没有一样的方式(但是你说的不是这样) 这听起来很熟悉吗? (编辑:南阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-4 – 全局过滤器MVC 4的执行顺序是什么
- asp.net-web-api – WebAPI中的长时间运行任务
- asp.net – 获得“System.Web.Mvc.Html.MvcForm”一页
- asp.net – 错误:数据绑定方法(如Eval(),XPath()和Bind()只
- asp.net – 如何使用resxresourcewriter写入所有三个值?
- asp.net-mvc – Url.Action生成查询字符串,以任何方式生成完
- asp.net-web-api – 在ASP.NET Web API控制器的nunit测试中
- asp.net文件上传功能(单文件,多文件,自定义生成缩略图,水印
- 端到ASP.NET MVC的推荐方法
- 如何在Asp.Net Mvc中进行Basecamp风格的账户?
