[英]How to cache data on server in asp.net mvc 4?
我正在研究mvc4 Web應用程序。 我想在服務器端緩存一些數據庫查詢結果和視圖。 我用了-
HttpRuntime.Cache.Insert()
但它在客戶端緩存數據。 請幫忙。
我正在使用MemoryCache存儲查詢結果,到目前為止工作正常。
以下是我用來實現它的一些鏈接。
- 在.NET 4.0中使用MemoryCache(codeproject)
- 在.NET 4.0中使用MemoryCache(博客文章)
當我現在閱讀它們時,我發現它們並不那么清楚,所以也許有一個更好的鏈接,我已經失去了某個地方。
這是我的代碼示例,我希望它足夠清晰,以便您了解它是如何工作的
public static class AgencyCacheManager
{
private static MemoryCache _cache = MemoryCache.Default;
public static List<RefAgency> ListAgency
{
get
{
if (!_cache.Contains("ListAgency"))
RefreshListAgency();
return _cache.Get("ListAgency") as List<Agency>;
}
}
public static void RefreshListAgency()
{
var listAgency = GetAllComplete();
CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
cacheItemPolicy.AbsoluteExpiration = DateTime.Now.AddDays(1);
_cache.Add("ListAgency", listAgency, cacheItemPolicy);
}
}
並從緩存中檢索列表
public Agency FindBy(string agencyId)
{
return AgencyCacheManager.ListAgency.SingleOrDefault(x => x.AgencyPartnerCode == agencyId);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.