我有一个ASP.NET Web 窗体应用程序。
我必须使用我的存储库层提供的控件通过GridView
控件显示搜索结果。DataSource
List<T>
由于每次用户更改搜索过滤器时我都会使用自动回发技术,为了减少对数据库的访问量,我想将初始List<T>
结果集存储在缓存中,以便在那里执行进一步的过滤。
我发现了很多关于 ASP.NET 中缓存的文章,但它们都包含比我更复杂的范围。有谁知道快速而清晰的方法吗?
我猜每个用户都会有自己独特的结果集,所以你可以简单地存储List<>
在会话中。
Session[SessionKeys.MyResultsetKey] = myList;
要将其存储在缓存中,您可以简单地这样做
Cache["CacheKeyName"] = myList;
要检查回发时该密钥是否已存在,您可以这样做
if(!IsPostBack)
{
if(Cache["CacheKeyName"] == null)
{
Cache["CacheKeyName"] = myList;
}
}