2011-08-16 2 views
0

Je reçois erreur suivante. L'argument null exception a été non gérée par le code utilisateur.argument null exception n'a pas été gérée par le code utilisateur

La valeur ne peut pas être nulle. Nom du paramètre: valeur

dans le code ci-dessous à l'emplacement en gras.

public static void InsertIntoCache(string cacheKey, object value) 
{ 
    HttpRuntime.Cache.Insert(cacheKey, value, null, DateTime.Now.Add(new TimeSpan(0, CacheDuration, 0)), **Cache.NoSlidingExpiration**, CacheItemPriority.Default,null); 
} 

aidez-moi s'il vous plaît.

+0

sûr qu'il ne peut pas être à l'endroit que vous signalez. 'Cache' est configuré par l'environnement d'exécution ASP .NET et la propriété est une valeur énumérée pour' DateTime'. Votre variable 'value' est-elle égale à' null'? – Yuck

Répondre

2

La signature de la méthode pour Cache.Insert() est (prise de MSDN):

public void Insert (
string key, 
Object value, 
CacheDependency dependencies, 
DateTime absoluteExpiration, 
TimeSpan slidingExpiration, 
CacheItemPriority priority, 
CacheItemRemovedCallback onRemoveCallback 
) 

L'erreur vous dit que value, qui est le 2ème paramètre dans la méthode .Insert(), ne peut pas être nulle. Cela signifie que votre méthode est appelée avec NULL comme 2ème paramètre, comme:

InsertIntoCache("some_key", null); // this will throw an exception. 

Fondamentalement, vous en tant que valeur ne peut pas mettre en cache « null ». Si vous faites défiler vers le bas dans this link à « exceptions », il est dit que Insérer() va lancer une ArgumentNullException lorsque:

Le paramètre clé ou une valeur est une référence null

+0

Merci Rallye ... – shaker

Questions connexes