我有一个C#WPF应用程序。我最近发现了Microsoft Enterprise Library Caching选项。
我在应用程序中添加了以下代码:
ICacheManager oCacheManager = CacheFactory.GetCacheManager();
if (!oCacheManager.Contains("TESTING"))
{
//
// Code which populates myDictionary object
//
oCacheManager.Add("TESTING", myDictionary);
if (oCacheManager.Contains("TESTING"))
Console.WriteLine("Stored!");
}
else // below never gets hit
{
Console.WriteLine("Found It!");
CachedObjects = (Dictionary<string, object>)oCacheManager.GetData("TESTING");
}
每次运行应用程序时,它都会输出“Stored!”。它永远不会输出“Found It!”。这意味着每次应用程序关闭时都会抛出缓存。有没有办法坚持下去,以便每次后续启动它都会找到缓存并加载它?
由于
答案 0 :(得分:0)
缓存对象的默认存储是NullBackingStore,这实际上意味着该对象仅缓存在内存中。其他选项是IsolatedStorageBackingStore(写入用户隔离存储中的磁盘)和DatabaseBackingStore(写入数据库)。这两个都比NullBackingStore慢得多,但数据将在重启后保留。