21
我正在使用mvc4 web應用程序。我想在服務器端緩存一些數據庫查詢結果和視圖。我用 -如何在asp.net mvc 4中的服務器上緩存數據?
HttpRuntime.Cache.Insert()
但它緩存在客戶端的數據。請幫忙。
我正在使用mvc4 web應用程序。我想在服務器端緩存一些數據庫查詢結果和視圖。我用 -如何在asp.net mvc 4中的服務器上緩存數據?
HttpRuntime.Cache.Insert()
但它緩存在客戶端的數據。請幫忙。
我正在使用MemoryCache來存儲查詢結果,到目前爲止它工作正常。
以下是我用來實現它的幾個鏈接。
- Using MemoryCache in .NET 4.0 (codeproject)
- Using MemoryCache in .NET 4.0 (blog entry)
正如我現在讀他們,我覺得他們不說清楚,也許有,我已經失去了某處更好的鏈路。
這裏是我的代碼示例,我希望是不夠清楚,讓你看到它是如何工作
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);
}
大,操作簡單,解釋檢索列表。謝謝! – leahcimp