パイプライン ブロックの同期または非同期の実行
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore XC 10.0以降、すべてのパイプライン ブロックは、メソッドを非同期で実行する必要があるか同期的に実行する必要があるかに応じて、AsyncPipelineBlockクラスまたはSyncPipelineBlockクラスのいずれかから派生します。
AsyncPipelineBlockクラスとSyncPipelineBlockクラスの使用
パイプライン ブロックを同期的に実行するには、SyncPipelineBlockクラスを使用します。ブロックを同期的に実行するために使用されるメソッド名はRun()です。例えば:
パイプライン ブロックを非同期的に実行するには、AsyncPipelineBlock.ブロックを非同期に実行するために使用されるメソッド名はRunAsync()です。例えば:
IPipelineのRunAsync() メソッド
Sitecore XC 10.0以降、IPipelineインターフェイス メソッドは非同期操作であるため、RunからRunAsync() に変更されました。
各パイプラインでは、同期ブロックと非同期ブロックの組み合わせを使用できます。
条件付きパイプライン ブロック
Sitecore 10.0以降、すべての条件付きパイプライン ブロックは、次の同期ブロック クラスまたは非同期ブロック クラスのいずれかから派生する必要があります。
-
ConditionalPipelineBLock
-
AsyncConditionalPipelineBLock
条件付きパイプライン ブロックを同期的に実行するには、ConditionalPipelineBLockクラスから派生させます。例えば:
条件付きブロックを非同期的に実行するには、AsyncConditionalPipelineBLockクラスから派生させます。例えば:
ポリシートリガーの条件付きブロック
Sitecore 10.0以降、すべてのポリシー トリガー条件付きブロックは、次の同期または非同期パイプライン ブロック クラスのいずれかから派生する必要があります。
-
SyncPolicyTriggerConditionalPipelineBLock
-
AsyncPolicyTriggerConditionalPipelineBLock
ポリシートリガーブロックは、ブロックの実行を停止するヘッダーをコンテキストに設定します。たとえば、ブロック内のカート計算をスキップするには、ShouldNotRunPolicyTriggerを "DoNotCalculateCart"に設定します。
ポリシートリガー条件付きブロックを同期的に実行するには、SyncPolicyTriggerConditionalPipelineBLockクラスから派生させます。例えば:
ポリシートリガーの条件付きブロックを非同期的に実行するには、AsyncPolicyTriggerConditionalPipelineBLockクラスから派生させます。例えば: