6

コア サービス (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 フィルターなどの他のフィルターは期待どおりに機能します。

誰でもこれが機能していますか?

4

1 に答える 1

4

これは、2013 年に修正された既知の問題です。

現在利用可能な修正プログラムはありませんが、PublishTransactionState プロパティを設定せずにリストを要求し、結果を後処理することで回避できます。

于 2012-12-06T14:48:21.597 に答える