FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 2704|回复: 4
打印 上一主题 下一主题

验证视图状态MAC失败的重现,请三石大大和朋友们分析一下

[复制链接]
跳转到指定楼层
楼主
发表于 2017-1-15 09:14:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于验证视图状态MAC失败这个问题,在版本更新4.2.0中显示是已修正这个问题的



但是我这几天在使用时,发现我用的4.2.3版本的代码在虚拟主机中还是出现了这个问题。三石大大叫我用空项目先还原一下,于是我便下载了EmptyProjectNet40_FineUI_v4.2.3.zip在里头添加了testone.aspx,testtwo.aspx,testthree.aspx添加上timer和grid两个控件(需方要搞一个实时数据,于是我临时写了个用timer事件定时刷新表单)打算分别测试直接查询,NHibernate,三层的方式。

首先写的是testone.aspx直接查询,把它改好后发布到虚拟主机上运行一段时间后,他开始报出这个错误。




接下来就是testtwo.aspx使用NHibernate,这次没有限制取得数据条数,所以上传了马上就出现这个问题。




testthree因为虚拟主机居然关停了(测试虚拟主机用的是阿里云的免费虚机,一个月只有10G,没想到才月中就没了流量)就没继续写了。


但根据testone,testtwo还是可以看出这个问题确实是存在的。而阿里云虚拟主机的machineKey是动态的,没法生成放到web.config里。所以把这个问题发上来大家看一下,帮忙分析一下。看看有没有好的解决方法。

问题重现的代码是基于4.2.3的空项目
1.数据库为mysql的,脚本也放在压缩包里了。
2.测试代码为testone.aspx,testtwo.aspx,测试代码把基本上只保留了timer和grid以排除别的干扰。
3.用到的类我都写到App_Code下了。
4.问题只在虚拟主机上出现过,本地和局域网服务器没有报过此错误。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2017-1-15 10:05:08 | 只看该作者
我上班时会分析一下。

不过v4.2中解决的问题时FineUI内部实现导致的这个错误:
http://fineui.com/bbs/forum.php?mod=viewthread&tid=7050

理解一点:这个错误可能有很多原因导致,上面的版本只是修改FineUI在快速多次AJAX回发时,顺序问题导致的错误。

如果是machineKey配置导致的问题,依然会存在。


板凳
 楼主| 发表于 2017-1-15 10:12:51 | 只看该作者
sanshi 发表于 2017-1-15 10:05
我上班时会分析一下。

不过v4.2中解决的问题时FineUI内部实现导致的这个错误:

这个能理解,麻烦三石了。
地板
发表于 2017-1-15 19:15:32 | 只看该作者
你的代码没有问题。所以你只需要在Web.config中设置 machineKey 属性即可。
http://fineui.com/bbs/forum.php?mod=viewthread&tid=655   见第 11 条。





至于你说的:
而阿里云虚拟主机的machineKey是动态的,没法生成放到web.config里。
我能理解你指的无法操作IIS管理器来生成machineKey,按照这篇文章:

https://blogs.msdn.microsoft.com ... enerate-machinekey/


其实我的理解是只要有一个有效的key就行,不一定就是当前服务器生成的,你完全可以在本机生成一个key使用。
评论中也有用户问到:


你试一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
5#
 楼主| 发表于 2017-1-16 08:32:55 | 只看该作者
sanshi 发表于 2017-1-15 19:15
你的代码没有问题。所以你只需要在Web.config中设置 machineKey 属性即可。
http://fineui.com/bbs/forum.p ...

好的,我先试一下。谢谢你了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-4-25 07:37 , Processed in 0.049324 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表