1

我在一个出版物的结构组中创建了一些页面。我想使用核心服务取消发布所有已发布的页面。谁能帮我吗?

4

2 回答 2

9

您可以使用 CoreService 客户端的 .UnPublish 方法,将您希望从中取消发布页面的 StructureGroup 的 URI 传递给它。这就是 CoreService API 参考(非常值得一读...)所说的:

取消发布来自给定目标的 IdentifiableObjectData 实例集合。

IEnumerable<PublishTransactionData> UnPublish(
    IEnumerable<string> ids,
    UnPublishInstructionData unPublishInstruction,
    IEnumerable<string> targets,
    Nullable<PublishPriority> priority,
    ReadOptions readOptions
)

参数

ids
Type: System.Collections.Generic.IEnumerable<String>
要取消发布的项目的标识符集合(TCM URI 或 WebDav URL)。

unPublishInstruction
Type: Tridion.ContentManager.Data.Publishing.UnPublishInstructionData
取消发布操作的指令。

目标
Type: System.Collections.Generic.IEnumerable<String>
表示要取消发布的发布目标或目标类型的目标标识符集合。这不能包含两者的组合。

priority
Type: System.Nullable<PublishPriority>
取消发布操作的优先级。传递 null 将使用来自发布目标的优先级。

readOptions
Type: Tridion.ContentManager.CoreService.ReadOptions
指定在取消发布后如何回读发布事务。如果参数为 null,则使用 None 读取项目。

返回值
PublishTransactionData 的集合

于 2012-08-22T08:09:38.043 回答
7

我没有适合您的复制/粘贴代码段,但考虑到 Jeremy 摘自相关方法的 API 文档和这些发布项目的示例,这应该不是很困难:

请记住,如果首先自己完成一些工作,然后向我们展示您遇到的问题,那么 Stack Overflow 效果最好。

于 2012-08-22T11:15:45.990 回答