FineUI 官方论坛

标题: 验证视图状态MAC失败 [打印本页]

作者: wsk198726    时间: 2015-4-23 18:04
标题: 验证视图状态MAC失败
快速(死命)点击下一页 会出现以下BUG
“/demo_pro”应用程序中的服务器错误。
验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。

http://go.microsoft.com/fwlink/?LinkID=314055
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。

http://go.microsoft.com/fwlink/?LinkID=314055

源错误:

[没有相关的源行]

源文件: c:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\demo_pro\c3f7c395\3e12b5e\App_Web_pgsqckih.3.cs    行: 0

堆栈跟踪:

[ViewStateException: 无效的视图状态。        Client IP: 183.63.253.34        Port: 11639        User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0        ViewState: /wEPDwUKMTcyODEwMzQ4MA9kFgICAw9kFgICAw9kFgQCCg9kFgICAQ8PFgIeBFRleHQFA+eUt2RkAgsPZBYCAgEPDxYCHwAFA+Wls2RkAgwPZBYCAgEPDxYCHwAFA+eUt2RkAg0PZBYCAgEPDxYCHwAFA+Wls2RkAg4PZBYCAgEPDxYCHwAFA+eUt2RkGAIFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYDBQVHcmlkMQURR3JpZDEkZGRsUGFnZVNpemUFB0J1dHRvbjEFBUdyaWQxDw9kZWR00Pg5hv9P+NkDVsM+siRLuMD3sQ==        Referer: http://fineui.com/demo_pro/grid/ ... esize_database.aspx        Path: /demo_pro/grid/grid_pageitems_pagesize_database.aspx][HttpException (0x80004005): 验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保 <machineKey> 配置指定了相同的 validationKey 和验证算法。不能在群集中使用 AutoGenerate。http://go.microsoft.com/fwlink/?LinkID=314055]   System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +153   System.Web.UI.ViewStateException.ThrowMacValidationError(Exception inner, String persistedState) +14   System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +237   System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4   System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +37   System.Web.UI.HiddenFieldPageStatePersister.Load() +207   System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +199   System.Web.UI.Page.LoadAllState() +43   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785   System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242   System.Web.UI.Page.ProcessRequest() +80   System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21   System.Web.UI.Page.ProcessRequest(HttpContext context) +49   ASP.grid_grid_pageitems_pagesize_database_aspx.ProcessRequest(HttpContext context) in c:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\demo_pro\c3f7c395\3e12b5e\App_Web_pgsqckih.3.cs:0   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75


版本信息: Microsoft .NET Framework 版本:2.0.50727.5483; ASP.NET 版本:2.0.50727.5483


作者: sanshi    时间: 2015-4-23 21:33


死命狂点!我这没能重现:http://fineui.com/demo_pro/#/dem ... esize_database.aspx

[attach]7437[/attach]

作者: wsk198726    时间: 2015-4-24 09:35
你这数据量小 加载速度快
作者: sanshi    时间: 2015-4-24 10:36

这个问题很经典,一般情况下不会出现用户死命狂点的情况,即使出现类似问题,刷新下页面就行了。

通过一个例子来说明,看下图:第二个AJAX请求先发出,但是在第三个请求结束后才结束,此时页面的状态就乱掉了,也就出现了第四个请求的错误!

[attach]7438[/attach]

这个问题我可以通过在用户点击下一页时,先禁用此按钮,等AJAX返回后再启用此按钮解决,这个更新会出现在下个版本中(v2.5.0)。






作者: wsk198726    时间: 2015-4-24 11:32
这个得禁用分页所有按钮才行  否则还是会出现这种情况
作者: sanshi    时间: 2015-4-24 16:46
wsk198726 发表于 2015-4-24 11:32
这个得禁用分页所有按钮才行  否则还是会出现这种情况



下个版本(专业版v2.5.0)会彻底解决这个问题,这是一个很隐蔽的BUG,从开源版就一直存在。

可以通过如下方式重现:


[attach]7440[/attach]

=========================================
这个问题的根源在于 FineUI 处理 ViewState 更新时,是依据传入的 ViewState 进行部分更新导致的。
从下个版本(专业版v2.5.0)起,我们将彻底解决这个问题!


不管你是死命狂点还是玩命狂点,我们保证即使浏览器被点挂了,也不会出现这个错误框了!



作者: 揣兜    时间: 2015-5-6 13:53
sanshi 发表于 2015-4-24 16:46
下个版本(专业版v2.5.0)会彻底解决这个问题,这是一个很隐蔽的BUG,从开源版就一直存在。

可以通过 ...

哈哈,浏览器点挂了不行,要把主机点冒烟




欢迎光临 FineUI 官方论坛 (https://www.fineui.com/bbs/) Powered by Discuz! X3.4