2011-08-22 52 views
3

例如,我的主頁顯示了一些最新的產品。我想將此頁面設置爲無限期緩存,然後在創建新產品時,我可以刪除代碼中的緩存頁面,而不是緩存一段時間,並希望用戶看到最新的內容。我是否可以通過編程方式處理webforms中的緩存頁面

此外,一旦我清除緩存,我可以使用HttpWebRequest來調用這些頁面再次緩存,以便用戶不必?

據我所知,我可以使用部分頁面緩存,但我真的不感興趣把我的網頁分解成用戶控件。

注意:我可以訪問服務器和IIS。

回答

1

如果您使用的數據庫是SQL Server,則可以使用SQL緩存依賴項(SqlCacheDependency)進行緩存,這使您可以緩存依賴於數據庫數據的頁面。一旦數據庫表中的數據發生變化,它將使緩存無效,並在下一次生成新頁面時... 欲瞭解更多和樣本,這裏是鏈接:http://msdn.microsoft.com/en-us/library/e3w8402y(v=vs.80).aspx和也可以從www.asp.net你可以下載的視頻教程太

+0

我看到這個工作的方式是你在web.config設置輪詢間隔。這可能是我將要去的方式,但是在我的代碼中手動執行它可以在一天內節省數百或數千個數據庫請求。 –

1

如果你沒有在頁面上的任何操作(如提交,...),這將導致回發:

在渲染頁面的子,讓頁面內容字符串和設置進入應用程序[「YourKey」]。 (第一次通話)

之後,在Page_Init中,您可以簡單地檢查應用程序[「YourKey」]是否有值,如果是,請使用response.write(Application [「YourKey」])。

當您想重置緩存時,只需將Application [「YourKey」]設置爲空。

相關問題