澄清从Azure缓存接收通知

时间:2013-11-24 09:39:39

标签: azure notifications azure-caching

我正在基于Azure角色专用缓存添加/替换项目时启用通知。我已按照下面提供的MSDN链接的说明进行操作;

http://msdn.microsoft.com/en-us/library/windowsazure/hh914156.aspx

//specify all possible item and region operations
DataCacheOperations allCacheOperations = DataCacheOperations.AddItem |
    DataCacheOperations.ReplaceItem;


DataCacheNotificationDescriptor ndCacheLvlAllOps
    = myTestCache.AddItemLevelCallback(allCacheOperations, myCacheLvlDelegate);



public void myCacheLvlDelegate(string myCacheName,
    string myRegion, 
    string myKey, 
    DataCacheItemVersion itemVersion,
    DataCacheOperations OperationId, 
    DataCacheNotificationDescriptor nd)
{
    //display some of the delegate parameters
    Console.WriteLine("A cache-level notification was triggered!");
    Console.WriteLine("    Cache: " + myCacheName);
    Console.WriteLine("    Region: " + myRegion);
    Console.WriteLine("    Key: " + myKey);
    Console.WriteLine("    Operation: " + OperationId.ToString());
    Console.WriteLine("    DeligateID" + nd.DelegateID.ToString());
    Console.WriteLine();
}

应用程序在添加和替换项目时接收应用程序。但是,我注意到当你为给定的动作执行添加或替换 N 次数时,CallBack函数会被执行N次。

e.g。 首先添加,AddItem操作的通知会被触发 1

第二次添加(相同的密钥),对于ReplaceItem操作(使用delegateID 1和2),通知会被触发 2

第三次添加(相同的密钥),对于ReplaceItem操作(使用DelegateID 1,2和3),通知会被触发 3 次。

有人可以帮助我理解为什么通知被解雇N次而不是每次项目被添加/替换?

感谢。

0 个答案:

没有答案