ASP.NET Crie objetos auto-recipientes?
-
23-09-2019 - |
Pergunta
Como posso fazer um objeto em cache recolocá-lo com informações atualizadas quando o cache expirou? Estou tentando impedir que o próximo usuário que solicite que o cache tenha que lidar com a obtenção dos dados do cache e, em seguida isso se auto-acrescenta.
Solução
Você pode usar retorno de chamada do cache
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
}
Outras dicas
Perdoe -me, talvez eu esteja perdendo alguma coisa. Mas parece que você está procurando atualizar os dados em cache. IMO, é melhor usar CacheDependency
em vez de expiração neste caso. Obviamente, você deve recolocá-lo novamente na próxima solicitação.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow