EnterpriseLibrary CacheManager ушел после перезапуска приложения? - PullRequest
0 голосов
/ 07 марта 2012

У меня есть приложение C # WPF.Недавно я обнаружил параметры кэширования Microsoft Enterprise Library.

Я добавил следующий код в свое приложение:

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!».Он никогда не выдает «Найдено!».Это означает, что кеш выбрасывается каждый раз, когда приложение закрывается.Есть ли способ сохранить его так, чтобы при каждом последующем запуске он находил кэш и загружал его?

Спасибо

1 Ответ

0 голосов
/ 07 марта 2012

Стандартным хранилищем для кэшируемых объектов является NullBackingStore, что действительно означает, что объект кэшируется только в памяти. Другими параметрами являются IsolatedStorageBackingStore (записывается на диск в изолированном хранилище пользователя) и DatabaseBackingStore (записывается в базу данных). Оба из них будут намного медленнее, чем NullBackingStore, но данные останутся после перезапуска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...