清除 Sitecore 的 .NET 缓存

Clearing .NET Cache for Sitecore

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

我们目前正在使用

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

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

尝试删除密钥:

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

但它并没有起到作用

没有.Clear()方法。

您可以使用 Cache class.

GetEnumerator 方法遍历所有条目并通过它们的键(或 ID)删除它们
IDictionaryEnumerator enumerator = Cache.GetEnumerator();
while(enumerator.MoveNext()) 
{
    Cache.Remove(enumerator.Key); 
}

我会在 publish:end:remote 事件中 运行 此代码。