這並不一定是複雜的,也可能是因爲這樣的簡單:
public DataSet GetMyViewData()
{
var results = HttpContext.Current.Cache["myViewResults"] as DataSet;
if(results == null)
{
results = GetMyQueryResults();
HttpContext.Current.Cache["myViewResults"] = results;
}
return results;
}
當然,這取決於數據有多大,你如何保鮮需要,等等。等等,但是從緩存中添加和獲取是很容易的。此外,如果您正在談論WebForms,則SqlDataSource控件將公開EnableCaching和CacheDuration策略,如果您只需要緩存Select語句的結果。您只需在控件上設置屬性,如下所示。
從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>
無效,我以爲只是設置爲空? – 2011-12-15 01:13:20