dans ASP.NET Caching ressemble, il utilise une sorte de tableau associatif:Looping par clés dans l'objet de cache ASP.NET
// Insert some data into the cache:
Cache.Insert("TestCache", someValue);
// Retrieve the data like normal:
someValue = Cache.Get("TestCache");
// But, can be done associatively ...
someValue = Cache["TestCache"];
// Also, null checks can be performed to see if cache exists yet:
if(Cache["TestCache"] == null) {
Cache.Insert(PerformComplicatedFunctionThatNeedsCaching());
}
someValue = Cache["TestCache"];
Comme vous pouvez le voir, effectuer une vérification nulle sur l'objet du cache est très utile .
Mais je voudrais mettre en œuvre une fonction d'effacement de cache qui peut effacer les valeurs de cache où je ne connais pas le entier nom de clé. Comme il semble y avoir un tableau associatif ici, il devrait être possible (?)
Quelqu'un peut-il me aider à trouver un moyen de boucle à travers les clés du cache stockées et exécuter une logique simple sur eux? Voici ce que je suis après:
static void DeleteMatchingCacheKey(string keyName) {
// This foreach implementation doesn't work by the way ...
foreach(Cache as c) {
if(c.Key.Contains(keyName)) {
Cache.Remove(c);
}
}
}
Le cache est sous votre contrôle - pourquoi voudriez-vous pas connaître les noms des choses qui sont là-dedans? –