[英]caching a page with data from database asp.net
我有一個包含項目類別的主頁。 項目類別來自數據庫。 但是數據不會經常更改。 所以我想要緩存頁面,大約一個月后,數據應該使用來自db的新數據進行更新。 我知道在asp.net中有輸出緩存和數據緩存。
如何實現以上功能?
我知道有
<%@ OutputCache %>
可用於緩存頁面。
您提供的任何信息對我都會有用,但我正在尋求專家的意見。
我知道這是一個過於廣泛的話題,但這是非常有用的事情,因此不應對其進行標記。
最好的方法之一是使用ASP.NET輸出緩存SqlCacheDependency類的高級功能直接通過SQL Server進行輸出緩存。
您可以配置SQL Server和ASP.NET來緩存頁面請求,從而減少服務器的工作量,直到在SQL Server中更新了頁面所依賴的數據為止。 SQL緩存依賴項對於保持相對靜態的數據很有用。
http://msdn.microsoft.com/zh-CN/library/e3w8402y(v=vs.100).aspx
您將需要執行以下步驟:
首先,您需要為SQL Server啟用緩存通知,例如:
aspnet_regsql.exe -S <Server> -U <Username> -P <Password> -ed -d Northwind -et -t Employees
然后,配置網頁進行緩存,例如:
<%@ OutputCache Duration="3600" SqlDependency="Northwind:Employees" VaryByParam="none" %>
然后,您將需要在Web.config文件中指定緩存詳細信息,例如:
<!-- caching section group -->
<caching>
<sqlCacheDependency enabled = "true" pollTime = "1000" >
<databases>
<add name="Northwind"
connectionStringName="NorthwindConnectionString1"
pollTime = "1000"
/>
</databases>
</sqlCacheDependency>
</caching>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.