appfabric缓存清除所有对象

np-*_*ard 12 c# appfabric

是否有建议的方法来清除DataCache中的所有对象?

我可以使用DataCache.GetObjectsByAllTags方法,但这需要一个区域,我无法使用,因为我需要在多个缓存主机之间共享对象.

PMo*_*ery 7

DataCache对象上没有简单的.Clear(),但使用以下内容将清除Appfabric主机上的缓存:

/*假设DataCache是​​一个正确设置的Microsoft.ApplicationServer.Caching.Client.DataCache对象*/

public void Clear()
{
   Parallel.ForEach(DataCache.GetSystemRegions(), region =>
   {
      DataCache.ClearRegion(region);
      var sysRegion = DataCache.GetSystemRegionName(region);
      DataCache.ClearRegion(sysRegion);
   });
}
Run Code Online (Sandbox Code Playgroud)

问题是,如果您在配置中设置了DataCacheLocalCacheProperties,您仍然会从本地副本中提取项目,直到超时或通知发生.我仍然在寻找一种方法来立即使本地副本中的项目无效.