用户代码未处理参数null异常

时间:2011-08-16 15:03:45

标签: c#

我收到了以下错误。

参数null异常未被用户代码处理。 值不能为空。 参数名称:值

在大胆地方的以下代码中。

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);
}

请帮助我。

1 个答案:

答案 0 :(得分:2)

Cache.Insert()的方法签名(取自MSDN):

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

错误告诉您value方法中的第二个参数.Insert()不能为空。这意味着您的方法被调用为null作为第二个参数,如:

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

基本上,你不能缓存' null'作为一种价值。如果您在this link向下滚动到"例外",则表示在以下情况下Insert()会抛出ArgumentNullException

  

key或value参数是空引用