在GetSystemWideList中使用PublishTransactionState过滤器不起作用

时间:2012-12-06 10:18:46

标签: tridion tridion-2011

在核心服务(SDL Tridion 2011 SP1)上使用GetSystemWideList操作时,我尝试为PublishTransactionState应用过滤器。

如果我尝试设置过滤器值,如PublishTransactionState.ScheduledForPublish或PublishTransactionState.WaitingForPublish,我得不到任何结果,即使我确定在队列中存在具有此状态的发布事务。

var filter = new PublishTransactionsFilterData {ForRepository = new LinkToRepositoryData {IdRef = "tcm:0-69-1"}};
filter.PublicationTarget = new LinkToPublicationTargetData { IdRef = "tcm:0-1-65537" };
filter.PublishTransactionState = PublishTransactionState.ScheduledForPublish;
//filter.StartDate = DateTime.Today.AddDays(-1);

var transactions = coreServiceSession.GetSystemWideList(filter);
Console.WriteLine(transactions.Count() + " publish transactions");

启用filter.PublishTransactionState行后,核心服务始终返回0结果。通过这一行注释,我们将按预期获得发布事务列表,其中包括一些状态为SceduledForPublish的事务。

其他过滤器,如StartDate过滤器按预期工作。

任何人都有这个工作吗?

1 个答案:

答案 0 :(得分:4)

这是一个已知的问题,已于2013年修复。

目前没有可用的修补程序,但您可以通过请求列表而不设置PublishTransactionState属性然后对结果进行后处理来解决此问题。