2017-01-06 162 views
0

我已添加SQLDataSource頁面上的控制啓用緩存並且緩存持續時間爲3小時(10800秒)。過期後自動刷新SQLDataSource緩存

我正在顯示來自SQLDataSource的數據在頁面加載事件。我只想知道,3小時後SQLDataSource會自動刷新,還是需要每隔3小時在瀏覽器中打開頁面?

回答

1

它緩存了3個小時,如果你在3小時後再次打開頁面,你會得到最新的。但是,它不是AJAX機制,如果您希望在不再次觸發page_load事件的情況下看到更新後的結果,那麼您需要自己添加異步回發內容。

SqlDataSource控件支持數據緩存。在緩存數據時,Select方法從緩存而不是從底層數據庫中檢索數據。當緩存過期時,Select方法從底層數據庫中檢索數據,然後再次緩存數據。

編號:https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasource.enablecaching(v=vs.110).aspx

+0

感謝傑里米的快速回復。好吧,我們有10臺機器打開我們的頁面。那麼我們是否需要在每臺機器上3小時後打開頁面以獲取最新的緩存?或者單個Cache是​​否被不同機器上的SQLDataSource對象的所有實例共享? – Vishal

+0

這在聊天室中可能會更容易一些,我假設您有10臺客戶* PC打到一臺託管ASP.Net應用的服務器。 SQLDataSource存儲在服務器上,而不是客戶端PC上,因此當更新單個緩存時,任何刷新的機器(緩存持續時間之後)都會看到最新的。理解這一點的最佳方式是將緩存設置爲幾分鐘,更新數據庫並在不同PC上的不同時間進行刷新,以查看它是如何工作的* *即使Stackoverflow在少於10臺服務器上運行* –

+0

這就是我想要的..真的很感激你..非常感謝。 – Vishal