2010-07-07 55 views
2

我有以下问题:Flash缓存问题?

我有一个WCF服务,检查数据库表,并返回JSON结果到Flash应用程序。
Flash应用程序每2秒轮询一次WCF服务,直到记录准备就绪。 问题在于Flash似乎在缓存我的请求,因为在第一次请求之后服务再也不会被重击了!
我找到了一个解决方法,通过在查询字符串上附加一个随机数,但是必须有更好的方法来解决这个问题。

任何输入是非常赞赏。

干杯

回答

1

追加一个随机字符串是最常用的方式来获得缓存左右。

您可以尝试设置pragma: no-cache标题,但我不确定这会被兑现;我有这个过去不工作对我来说是微弱的记忆 - 请为自己和回来后:-)

var header:URLRequestHeader = new URLRequestHeader("pragma", "no-cache"); 
var request:URLRequest = new URLRequest(url); 
request.requestHeaders.push(header); 

如果您通过网络进行业务控制,你可以发送pragma: no-cache头,我假设你已经在做。

+2

+1。但是,简单而可靠的方法是添加一个独特的参数,比如'“&stamp =”+(new Date())。getTime()' – back2dos 2010-07-07 12:08:09

+0

感谢一家工厂,在闪存中设置标题并不起作用,但是设置WCF服务中的头文件没有!继承人的链接,看看如何设置标题:http://www.robbagby.com/rest/rest-in-wcf-part-x-supporting-caching-and-conditional-get/ – kyle 2010-07-07 12:38:07