我正在使用 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 方法并发生了同样的情况。我知道这应该是我在某处遗漏的一些小东西,但我有货,我真的很感谢有人帮助。
谢谢