gpt4 book ai didi

c# - Umbraco通过代码创建内容导致缓存失效

转载 作者:行者123 更新时间:2023-11-30 16:55:25 26 4
gpt4 key购买 nike

我们已经创建了一个区域,客户可以在该区域而不是管理员管理他们在站点中的内容,并且出于某种原因,当我们创建新内容时,缓存似乎会失效。

创建内容后,如果您转到管理中的节点,您将在“文档链接”属性附近看到此错误:糟糕:此文档已发布但不在缓存中(内部错误)。

知道为什么会发生这种情况吗?有没有办法在创建项目后检查项目是否在缓存中?

这似乎是导致问题的方法:

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;
}

最佳答案

看来您需要发布名为“contentFolder”的新节点。

var contentFolder = contentService.CreateContent(folderName, parentId, contentTypeAlias, userId);
contentService.SaveAndPublish(contentFolder);

如果您还需要发布所有子项,请使用 PublishWithChildren

在此处查看 ContentService 中的所有方法:https://our.umbraco.org/documentation/Reference/Management-v6/Services/ContentService

关于c# - Umbraco通过代码创建内容导致缓存失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29518100/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com