我需要清除一个用于Sitecore中自定义模块的缓存,清除它的最佳做法是什么?
我们目前正在使用
向缓存添加密钥System.Web.HttpContext.Current.Cache.Add(key, obj, dependencyKey, DatTime.MaxValue);
此缓存在发布时不会被清除,我需要手动清除它。我知道可以挂钩Sitecores发布事件,但需要一种方法来清除它。
尝试使用以下方法删除密钥:
System.Web.HttpContext.Current.Cache.Remove(key);
但它没有做到这一点
答案 0 :(得分:1)
没有.Clear()
方法。
您可以使用GetEnumerator
类的Cache
方法迭代所有条目并使用其键(或ID)删除它们。
IDictionaryEnumerator enumerator = Cache.GetEnumerator();
while(enumerator.MoveNext())
{
Cache.Remove(enumerator.Key);
}
我会在publish:end:remote event。
中运行此代码