繁体   English   中英

Sitecore增量发布项目

[英]Sitecore incremental publish of an item

是否可以增量发布项目? 我正在尝试通过以下方式做到这一点:

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();

但我在最后一行收到以下错误:

Sitecore.Kernel.dll中发生类型为'System.InvalidOperationException'的异常,但未在用户代码中处理。 附加信息: 无法为增量发布指定根项目

contentItem变量是一个存储桶,其中包含其他可存储项。 有什么办法可以进行增量发布吗?

不行,不可能 Incremental仅适用于整个数据库。

对于项目,只有这两个选项是可能的:

  1. 智能发布-发布源数据库和目标数据库之间的差异。
  2. 重新发布-发布所有内容。

只是为了补充Marek的答案

增量发布不接受任何根项目。 它利用“发布队列”表来了解要发布的项目。 Sitecore将从主数据库查询属性表,以检索上次发布日期和目标数据库。

根据检索到的时间戳,将发布PublishQueue表中所有日期大于或等于上次发布的时间戳的项目。

这就是为什么当您选择发布项目时 ,只有以下两个选项的原因:

  1. 智能发布
  2. 全文发表

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM