在Core Service(SDL Tridion 2011 SP1)上使用GetSystemWideList操作時,我試圖爲PublishTransactionState應用過濾器。在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過濾器按預期工作。
任何人都可用此業務?
我可以很容易地重現您的問題:'State = ScheduleForPublish'有明確的結果,但將該條件添加到過濾器時不會返回任何結果。 –
@FrankvanPuffelen:謝謝您的確認。 令我吃驚的是,我只是注意到對PublishTransactionState.Success的過濾功能正常工作。 另外,在CME中的發佈隊列中應用這些過濾器時,我會得到相同的行爲。 –
不錯的問題,我們可以讓你感興趣的是承諾[區域51 Tridion具體提案](http://area51.stackexchange.com/proposals/38335/tridion?referrer=gPujQMxthNCNn9xqeeO2NA2)。如果您有時間,請使用同一個SO帳戶註冊。 –