我们正在使用SC Item Web API在Web数据库中创建Sitecore项目。
但是,在我们清除缓存之前,它们不会立即显示在内容树中。
有没有办法只排除某些项目被包含在SC数据库缓存中?如果是这样,你怎么做?
由于
答案 0 :(得分:1)
您可以创建自定义操作以将缓存部分清除为explained here:
链接中的代码(由Dave Peterson编写):
public static void ClearDataItemCache(Database database, IEnumerable ids)
{
Cache prefetchCache = GetPrefetchCache(database);
foreach (ID id in ids)
{
if (!ID.IsNullOrEmpty(id))
{
database.Caches.ItemCache.RemoveItem(id);
database.Caches.DataCache.RemoveItemInformation(id);
database.Caches.StandardValuesCache.RemoveKeysContaining(id.ToString());
if (prefetchCache != null)
{
prefetchCache.Remove(id);
}
}
}
}
但是,请记住,每当您从Master数据库发布到Web数据库时,您的项目将被再次删除(除非它也在Master数据库中创建)。