2010-10-22 3 views
1

Pas vraiment sûr comment faire cela, mais je peux mettre en cache le dictionnaire comme celui-ci:ASP.NET: Comment vérifier la valeur d'un dictionnaire mis en cache?

Cache.Insert ("cacheName", Dictionnaire)

besoin une certaine direction. le dictionnaire est deux valeurs de chaîne tirées d'une base de données. L'utilisateur va entrer une chaîne et j'ai besoin de la comparer aux valeurs du dictionnaire mis en cache.

Répondre

0

En général, vous devez accéder à l'objet à partir du cache, le lancer et l'utilisation de la propriété ContainsKey. Voici un exemple:

ajoutez d'abord le dictionnaire du cache:

IDictionary<string, string> testDict = new Dictionary<string, string>(); 
testDict.Add("Test", "test"); 
Cache.Insert("dict", testDict); 

Ensuite, lorsque vous avez besoin de le faire, accéder à l'objet mis en cache et utiliser la propriété ContainsKey pour déterminer si elle contient la clé recherchée ou pas.

var dict = Cache["dict"] as IDictionary<string, string>; 

if (dict != null) 
{ 
    string testValue = "test"; 
    if(dict.ContainsKey(testValue)) 
    { 
     /* some logic here */ 
    }  
} 

Vous pouvez accéder à la valeur de la manière suivante:

if (dict != null) 
{ 
    string testValue = "test"; 
    if(dict.ContainsKey(testValue)) 
    { 
     /* some logic here */ 
     string value = dict[testValue]; 
    }  
} 
+0

Cela semble fonctionner assez houle, maintenant je dois juste obtenir la clé de la valeur qui a été trouvée et le mettre égal à une chaîne – wil

+0

J'ai mis à jour mon poste en conséquence :) –

+0

Merci, très apprécié! – wil

0

Vous pouvez obtenir le dictionnaire du cache en écrivant

var dict = (Dictionary<X, Y>) cache["CacheName"]; 
Questions connexes