[英]Which ASP.NET cache technique should I use to cache the results of a view query?
該方案是一個帶有GridView的ASPX頁面,該GridView顯示來自SqlDataSource的數據,該數據配置為從基於次優查詢的數據庫視圖中選擇行(我目前沒有時間來修復)。
我將有關ASP.NET的大書打開到有關緩存的100頁一章,並意識到它非常復雜,所以我只是想知道是否有人可以想象這種情況,並專門告訴我他們可以用來解決問題的技術(除了使查詢速度更快)。
此外,GridView具有可排序的列,並包含在UpdatePanel中。
提前致謝。
這不必很復雜,它可以像這樣簡單:
public DataSet GetMyViewData()
{
var results = HttpContext.Current.Cache["myViewResults"] as DataSet;
if(results == null)
{
results = GetMyQueryResults();
HttpContext.Current.Cache["myViewResults"] = results;
}
return results;
}
當然,這取決於數據的大小,所需的新鮮程度等,等等,但是從緩存中添加和獲取數據很容易。
此外,如果您正在談論WebForms,則僅在需要緩存Select語句的結果時,SqlDataSource控件將公開EnableCaching和CacheDuration策略。 您所要做的就是設置控件上的屬性,如下所示。
從MSDN:
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
DataSourceMode="DataSet"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
EnableCaching="True"
CacheDuration="20"
SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees">
</asp:SqlDataSource>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.