ASP.net Создать объекты само кеширования? - PullRequest
1 голос
/ 30 марта 2010

Как я могу сделать кэшированный объект повторно кэшировать его самостоятельно с обновленной информацией, когда срок действия кэша истек? Я пытаюсь помешать следующему пользователю, который запрашивает кэш, иметь дело с получением данных, устанавливающих кэш, а затем с его помощью есть какой-либо фоновый метод / событие, к которому я могу привязать объект, чтобы, когда он истекает, он просто вызывал метод это я и само кешируем.

Ответы [ 2 ]

2 голосов
/ 30 марта 2010

Вы можете использовать обратный вызов из кэша

System.Web.Caching.CacheItemRemovedCallback callback = 
    new System.Web.Caching.CacheItemRemovedCallback (OnRemove);
Cache.Insert("key",myFile,null, 
   System.Web.Caching.Cache.NoAbsoluteExpiration, 
   TimeSpan.Zero, 
   System.Web.Caching.CacheItemPriority.Default, callback);
 . . .
public static void OnRemove(string key, 
   object cacheItem, 
   System.Web.Caching.CacheItemRemovedReason reason)
   {
      // Logic
   }
0 голосов
/ 30 марта 2010

Простите, может я что-то упустил. Но звуки, как вы после, чтобы постоянно обновлять кэшированные данные. ИМО, в этом случае лучше использовать CacheDependency вместо срока действия. Конечно, вы должны повторно кэшировать его при следующем запросе.

...