不要!AIR网络数据缓存

5.17日,我在饭否AIR客户端中遇到“AIR打开XML后会缓存下来,导致不能及时刷新”的郁闷情况。按照设想,我需要点一下按钮就刷新网络数据的,可是数据被缓存了,AIR优先使用本地数据,不能及时更新,很是郁闷。后来只能使用“非正常手段”——

对付这种由于缓存导致的不能即使刷新,有一招,就是给请求的URL加个参数,比如请求a.xml?user=b;那就每次要刷新时改成请求a.xml?user=b&r=1; 这个r的值每次自增1,这样投机取巧,可以刷新到数据了.

今天在官网上转悠了一下,发现AIR应用中的URLRequest有俩属性能管事(哎呀,总算来个给草民作主的了~),它们是:

cacheResponse useCache

cacheResponse用来设置成功返回数据后是否缓存,默认为true useCache用来设置是否优先查找本地缓存的数据,默认true 这两个属性也可以在URLRequestDefaults类中设置默认值。

以后知道可以可以把不想缓存的URL请求设置下不要缓存了。另外,由于没搞过,所以暂时不清楚Flex中HttpService获取数据缓存归哪里管,谁知道?告诉我……


技术内容转载请注明来源,个人日记不允许转载,欢迎指出任何有错误或不够清晰的表达。可以邮件至 mousebomb@gmail.com