2014-05-03 1 views
2

Je souhaite avoir un dictionnaire concurrent dans lequel les éléments expirent s'ils n'ont pas été utilisés depuis un certain temps.Expiration du dictionnaire

Maintenant, cela semble être une classe assez simple à créer, mais j'ai fait quelques recherches et rencontré MemoryCache. Il semble exactement ce que je veux (voir CacheItemPolicy.SlidingExpiration). Je me demande si cela fait ce que je veux - ou s'il y a des inconvénients flagrants pour mon cas d'utilisation?

Ceci est une application WPF côté client.

Répondre

1

MemoryCache est thread en effet sûr, qui est adapté à vos besoins, mais une chose à considérer est que si vous avez l'intention de créer plusieurs instances de celui-ci, il pourrait ne pas être le meilleur choix, comme MSDN mentionne:

MemoryCache n'est pas un singleton, mais vous devez en créer seulement quelques-uns ou potentiellement qu'une seule instance de MemoryCache et que le code qui met en cache les éléments doit utiliser ces instances.

Pour plus de détails, vous pouvez voir ma question ici: Using multiple instances of MemoryCache