Sitecore:从代码发布时 PublishingTargets 的用途

Sitecore: purpose of PublishingTargets when publishing from code

当我从我的 C# 代码发布 Sitecore 项目时,我可以这样做:

var po = new PublishOptions(masterDatabase,
    webDatabase,
    PublishMode.SingleItem,
    Language.Parse("nl-NL"),
    DateTime.Now,
    publishingTargets);

var p = new Publisher(po);
p.Options.RootItem = subject;
p.Options.Deep = true;
p.Publish();

我的问题:我作为构造函数的最后一个参数提供的 PublishOptions class 的 PublishingTargets 属性 的确切目的是什么?

如果我不提供任何发布目标(但仍提供目标数据库)会怎样?

在任何 Sitecore 项目的 Publishing 部分都有一个 Publishing Targets 字段:

如果此字段选择了任何目标,则只有在 Publish Options 中也传递了该目标时才会发布它。

这意味着您可以创建第二个发布目标并将其分配给 Item A。如果您这样做,Item A 将永远不会从 master 发布到 web,除非您将第二个发布目标作为参数传递给 Publish Options

如果 Publishing Targets 字段为空(默认情况下为空),则不使用最后一个参数。