【发布时间】:2015-04-08 14:50:37
【问题描述】:
我们创建了一个区域,客户可以在其中管理他们在站点中的内容,而不是管理员,并且由于某种原因,当我们创建新内容时,缓存似乎会失效。
创建内容后,如果您转到管理中的节点,您将在链接到文档属性附近看到此错误:糟糕:此文档已发布但不在缓存中(内部错误)。
任何想法为什么会发生这种情况?有没有办法在创建后检查项目是否在缓存中?
这似乎是导致问题的方法:
public static int GetOrCreateContentFolder(IContentService contentService, int userId, int parentId, string folderName, string contentTypeAlias)
{
var targetContentFolder =
contentService.GetChildren(parentId)
.Where(c => c.Name.ToLower() == folderName.ToLower())
.ToList();
if (targetContentFolder.Any())
{
return targetContentFolder[0].Id;
}
var contentFolder = contentService.CreateContent(folderName, parentId, contentTypeAlias, userId);
return contentFolder.Id;
}
【问题讨论】:
-
您在负载均衡环境中吗?它是什么版本的 umbraco?
-
它不是负载均衡的,我们在亚马逊的单个虚拟机上托管,版本是 7.1.4
-
通常当多个开发人员共享同一个 umbraco db 时会发生这种情况。你能显示一些代码吗?你在使用 ContentService api 吗?
-
好的,刚刚发布了导致问题的代码,我们目前正在使用内容服务api。
-
你试过 YOURDOMAIN/Umbraco/dialogs/republish.aspx
标签: c# content-management-system umbraco