wind2

导航

 

第一次写BLOG,没有什么技术可以分享,就说说这几天发布新网站的事。
按照计划,一步一步的从旧网站转到了新网站了,进行到晚上0800多,一切顺利,没收到什么太多的error email,数据库也运作良好,客户开始login,检查日志,邮箱,都没问题,正要高兴时,突然开始收到email, 记录了"Unable to validate data exception, 查了下google,MS support说是viewstate出了问题,有三种情况

1) If this is a cluster, edit <machineKey> configuration so all servers
use the same  validationKey and validation algorithm.  AutoGenerate
cannot be used in a  cluster.

2) Viewstate can only be posted back to the same page.

3) The viewstate for this page might be corrupted.

我们正好用了第一种情况,web farms,有两台web server, 但网管说理论上没问题,因为接口使用cookie,使每一个用户都始终连到同一个web server. 但不管了,先要求关闭一台,然后按照MSDN所说的设置好machine key(参照link),重新发布网站。

How to create keys by using Visual C# .NET for use in Forms authentication
然而,几分钟后,仍然收到error的报告,几个人开始在网上开始寻找相关信息,但大都数文章就如前文所说,只指出了三种情况,我们的网页中并没有使用动态load user control,忙了整整一天,没有头绪,在本地的所有机器上都测试了,正常,无法得到此类exception,就在大家痛苦之中,project manager比较细心,分析了下数据,大多数的客户都能运作,只有很小部份 客户有错,而且没有接到客户投诉电话,估计是客户设置问题,调整了关键词,重新google,终于在一个forum中找到了相关问题(http://www.dotnetjunkies.com/Forums/ShowPost.aspx?PostID=6525),原因就在于客户IE中internet options ->General->Temporary internet files->Settings 中的check for newer versions of stored pages: 大多数人都设置antomatically. 但有人设置成never, 从cache里取的是older page,viewstate当然出错,于是在web pages里加入

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">

问题解决,但愿能给其它人一些提示。

posted on 2006-04-01 10:31  wind2  阅读(160)  评论(0)    收藏  举报