清除 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 事件中 运行 此代码。
我需要清除 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 事件中 运行 此代码。