Это не обязательно должно быть сложно, это может быть так просто:
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>