Ich verwende MemoryCache, um Abfrageergebnisse zu speichern, und es funktioniert soweit gut.
Hier sind ein paar Links, die ich verwendet habe, um es zu implementieren.
- Using MemoryCache in .NET 4.0 (codeproject)
- Using MemoryCache in .NET 4.0 (blog entry)
Als ich sie jetzt lesen, ich finde sie nicht so klar, vielleicht gibt es eine bessere Verbindung, die ich irgendwo verloren haben.
Hier ist eine Probe von meinem Code, den ich hoffe, klar genug ist, so dass Sie sehen, wie es
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);
}
}
Und die Liste aus dem Cache
public Agency FindBy(string agencyId)
{
return AgencyCacheManager.ListAgency.SingleOrDefault(x => x.AgencyPartnerCode == agencyId);
}
große, einfache, Erklärung abrufen funktioniert. Vielen Dank! – leahcimp