EnterpriseLibrary CacheManager在应用程序重新启动后消失

本文关键字:消失 重新启动 应用程序 CacheManager EnterpriseLibrary | 更新日期: 2023-09-27 18:27:02

我有一个C#WPF应用程序。我最近发现了Microsoft企业库缓存选项。

我在应用程序中添加了以下代码:

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");
}

每次运行应用程序时,它都会输出"已存储!"。它从不输出"找到它!"。这意味着每当应用程序关闭时,缓存都会被抛出。有没有一种方法可以持久化它,以便在以后每次启动时都能找到缓存并加载它?

感谢

EnterpriseLibrary CacheManager在应用程序重新启动后消失

缓存对象的默认存储是NullBackingStore,这实际上意味着对象仅缓存在内存中。其他选项是IsolatedStorageBackingStore(写入用户的隔离存储中的磁盘)和DatabaseBackingStore)(写入数据库)。这两者都将比NullBackingStore慢得多,但数据将在重新启动后保留。