2010-07-07 142 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