最近在做一个项目,前台是flex,后台读取数据库中数据是用的asp.net写的webservice,有时候前后台同时更新,但是由于缓存机制,客户浏览器前台读取的常常是旧的缓存,而后台读取的是新的,从而导致直接不匹配等等问题。
于是在网上查了下相关文章,记录下心得。
参考文章(http://blog.youkuaiyun.com/zhizaibide1987/article/details/18842665)
我只是用了他的第一步骤:
将嵌入swf的html文件设置为不缓存
修改应用访问的html文件,将这个页面的缓存方式设置为“不缓存”(因为html页面的数据不大,所以每次都读取Server中的内容是可以容忍的)。在此文件的<head></head>之间加上如下代码:
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> |
注意:<head></head>之间原有的代码不要修改!,如果代码中已经存在上边的代码就无需再增加了。
我将他提供的代码段写入index.template.html文件中,调试中发现我如果swf发生修改之后,状态就是200 OK,就是读取后正常取到了,如果swf未发生修改,状态就是304 not modified,就是检测到未修改仍读取缓存的意思。