是否可以对项目进行增量发布? 我试图通过以下方式做到这一点:
var masterDatabase = Factory.GetDatabase("master");
var webDatabase = Factory.GetDatabase("web");
var contentItem = masterDatabase.GetItem("/sitecore/content/path to item");
PublishOptions options = new PublishOptions(
masterDatabase,
webDatabase,
PublishMode.Incremental,
Language.Current,
DateTime.Now)
{
RootItem = contentItem,
Deep = true
};
Publisher publisher = new Publisher(options);
publisher.PublishAsync();
但是我在最后一行收到以下错误:
类型' System.InvalidOperationException'的例外情况发生在Sitecore.Kernel.dll中但未在用户代码中处理。 其他信息:无法为增量发布指定根项目
contentItem
变量是一个存储桶,其中包含其他可存储的项目。
有没有办法为它做增量发布?
答案 0 :(得分:3)
没有。这是不可能的。 Incremental
仅适用于整个数据库。
仅对于项目,可以使用以下两个选项:
答案 1 :(得分:2)
添加马立克回答
增量发布不会占用任何根项目。它使用“发布队列”表来了解要发布的项目。 Sitecore将从主数据库查询属性表以检索上次发布日期和目标数据库。
根据检索到的时间戳,发布PublishQueue表中日期大于或等于上次发布时间戳的所有项目。
这就是为什么当您选择发布商品时,只有以下两个选项: