清除Sitecore的.NET缓存

时间:2015-05-05 08:41:38

标签: c# .net sitecore

我需要清除一个用于Sitecore中自定义模块的缓存,清除它的最佳做法是什么?

我们目前正在使用

向缓存添加密钥
System.Web.HttpContext.Current.Cache.Add(key, obj, dependencyKey, DatTime.MaxValue);

此缓存在发布时不会被清除,我需要手动清除它。我知道可以挂钩Sitecores发布事件,但需要一种方法来清除它。

尝试使用以下方法删除密钥:

System.Web.HttpContext.Current.Cache.Remove(key);

但它没有做到这一点

1 个答案:

答案 0 :(得分:1)

没有.Clear()方法。

您可以使用GetEnumerator类的Cache方法迭代所有条目并使用其键(或ID)删除它们。

IDictionaryEnumerator enumerator = Cache.GetEnumerator();
while(enumerator.MoveNext()) 
{
    Cache.Remove(enumerator.Key); 
}

我会在publish:end:remote event。

中运行此代码