0

我正在使用 CacheManager.Net,我正在尝试将 CacheItem 添加到 ICacheManager 对象,但出现以下异常“对象引用未设置为对象的实例。”。

以下是一些代码片段:

public class ReaderController{

private ICacheManager<object> tagReadEventsCache;

public ReaderController()
{
tagReadEventsCache = CacheFactory.Build("tagReadEventsCache", settings => settings
.WithUpdateMode(CacheUpdateMode.Up)
.WithSystemRuntimeCacheHandle("Zones")
.WithExpiration(ExpirationMode.Sliding, TimeSpan.FromMilliseconds(1000)));

tagReadEventsCache.OnAdd += TagReadEventsCache_OnAdd;
}

private void TagReadEventsCache_OnAdd(object sender,                                              CacheManager.Core.Internal.CacheActionEventArgs e)
{
generalLog.Debug(e.Key + " - " + e.Region + " - " + e.GetType().ToString());
}

public void AddTagReadEventCache(List<TagRead> tagReadEvent)
{
  foreach (TagRead tag in tagReadEvent)
  {
   try
   {
     var item = new CacheItem<object>(tag.Epc, tag, ExpirationMode.Sliding,     TimeSpan.FromMilliseconds(10000));
                    //tagReadEventsCache.Put(item);
                    tagReadEventsCache.Add(item);
   }
   catch (Exception ex)
   {
    generalLog.Error("Excepcion tag " + tag.ReaderHostName, ex);
   }
  }
}
....

}

因此,当调用 AddTagReadEventCache 方法时,它会在尝试添加 Cacheitem 时生成异常,我也尝试了 Put 方法并发生了同样的情况。我知道这应该是我在某处遗漏的一些小东西,但我有货,我真的很感谢有人帮助。

谢谢

4

0 回答 0