我正在基于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次而不是每次项目被添加/替换?
感谢。