微软分布式缓存 AppFabric(Velocity)-开发篇(四)缓存通知

要使用缓存通知,要先配置缓存的通知服务已开启,在PowerShell工具中使用:Set-CacheConfig命令将要开启通知的缓存通知开启。

添加缓存通知须要两个步骤:

1.创建一个可以被缓存通知调用的方法,这个方法带有一个或多个通知类型选项。这个函数的参数必须和DataCacheNotificationCallback委托的参数相同。

2.用DataCache实例的 AddCacheLevelCallback, AddRegionLevelCallbackAddItemLevelCallback其中的一个方法添加一个回调。

Step 1.DataCacheNotificationCallback参数

        //method invoked by notification "ndCacheLvlAllOps" 

        public void myCacheLvlDelegate(string myCacheName,string myRegion, string myKey,DataCacheItemVersion itemVersion,

            DataCacheOperation 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();

        }

Step 2.添加回调

            DataCache dataCache = factory.GetCache("FirstCache");

            //specify all possible item and region operations

            DataCacheOperation allCacheOperations = DataCacheOperation.AddItem |

                DataCacheOperation.ReplaceItem |

                DataCacheOperation.RemoveItem |

                DataCacheOperation.CreateRegion |

                DataCacheOperation.ClearRegion |

                DataCacheOperation.RemoveRegion;



            //add cache-level notification callback 

            //all cache operations from a notifications-enabled cache

            DataCacheNotificationDescriptor ndCacheLvlAllOps = dataCache.AddCacheLevelCallback(allCacheOperations, myCacheLvlDelegate);

 

示例代码下载:VolocityDemo.rar

你可能感兴趣的:(velocity)