在核心服务(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 过滤器按预期工作。
有人有这个工作吗?