随机无效的视图状态错误
我知道关于这个主题有很多问题,我已经全部阅读过了。
我正在使用IIS8,.Net 4.5。
用户随机获得无效的viewstate错误,我无法弄清楚。 一旦发生这种情况,他们可以回到网站的唯一方法是清除浏览器缓存。
在我的web.config中,我有:
<!----> ...
我正在虚拟专用服务器上运行,而我还没有找到大于9kb的视图状态。
我的应用程序池设置为每天凌晨3:00重启,每天一次。
我的页面使用更新面板,也许用户点击“返回”? 但我看到它只是访问页面而没有点击回来。
我注意到的一件事是我有3个不同的站点使用相同的应用程序池标识,但应用程序池是分开的。 machine.xml中没有机器密钥,但只在我的web.config中。
调查的几种可能性:
-
更新面板正在更改表单字段值(用于计算ViewState的值),然后页面返回到服务器,新值使validation失败。 看这篇文章
-
您已启用缓存(执行HTTP标头的跟踪 – 确保您没有打开开发工具),这会导致无效的ViewState生成,而UpdatePanel会将其搞砸。
-
你在任何地方使用Server.Execute吗? (见上面链接)
-
(不太可能)您的“虚拟专用服务器”是否迁移到不同的硬件(可能在您不知情的情况下)?