NCache开源4.4SP1是否支持项目级通知?

时间:2016-02-16 11:05:53

标签: c# ncache

我正在尝试将NCache用作具有数据更改通知的共享键值存储。这是我试过的:

var cache = NCache.InitializeCache("mycache");
cache.RegisterCacheNotification("123", CacheDataModified, EventType.ItemAdded | EventType.ItemUpdated);

var data = 7;
var cacheItem = new CacheItem(data) {
    Priority = CacheItemPriority.NotRemovable
};

cache.Insert("123", cacheItem);

while(true) {
    Thread.Sleep(200);
}

回调:

private static void CacheDataModified(string key, CacheEventArg cacheeventargs) {
    var newValue = cacheeventargs.Item;
    ;
}

我在回调中设置了断点,但我收到的唯一通知是key = "123"cacheeventargs.CacheItemRemovedReason = Underused的通知。

这让我想知道NCache Open-Source 4.4SP1是否支持项目级通知。我做错了吗?

1 个答案:

答案 0 :(得分:1)

这实际上是正常的。物品级通知似乎以这种方式工作。回调会收到项目“123”已更新的通知,并且必须发出后续Get才能获取新值。

CacheItemRemovedReason具有上述值,因为它是enum的默认值。