WorkflowInstance.EnqueueItemOnIdle メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ワークフローがアイドル状態のときに、指定したワークフロー キューにメッセージを投稿します。 EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) は、ワークフローがアイドル ポイントに達するまで待機し、ワークフロー スケジューラがアイドル状態であることを確認した後にエンキューします (つまり、アクティブな操作は実行されていません)。
public:
void EnqueueItemOnIdle(IComparable ^ queueName, System::Object ^ item, System::Workflow::Runtime::IPendingWork ^ pendingWork, System::Object ^ workItem);
public void EnqueueItemOnIdle(IComparable queueName, object item, System.Workflow.Runtime.IPendingWork pendingWork, object workItem);
member this.EnqueueItemOnIdle : IComparable * obj * System.Workflow.Runtime.IPendingWork * obj -> unit
Public Sub EnqueueItemOnIdle (queueName As IComparable, item As Object, pendingWork As IPendingWork, workItem As Object)
パラメーター
- queueName
- IComparable
WorkflowQueueの名前。
- item
- Object
エンキューするオブジェクト。
- pendingWork
- IPendingWork
IPendingWorkが配信されたときに送信者に通知を受け取ることができるitem。
- workItem
- Object
IPendingWork メソッドに渡されるオブジェクト。
例外
queueName は null 参照です (Visual Basic では Nothing)。
ワークフロー ランタイム エンジンが実行されていません。
-又は-
ワークフロー インスタンスが中断されています。
-又は-
WorkflowQueueで指定されたqueueNameが存在しません。
-又は-
WorkflowQueueで指定されたqueueNameが有効になっていません。
注釈
ワークフロー インスタンスがアイドル状態になるまで待機し、指定したitemにWorkflowQueueを送信します。 ワークフロー インスタンスが中断されている間に EnqueueItemOnIdle を呼び出すと、ワークフロー ランタイム エンジンは InvalidOperationExceptionをスローします。 メッセージが配信されたときに通知を受け取る場合は、サービスに IPendingWork を実装し、 workItem と IPendingWork オブジェクトを EnqueueItemに渡すことができます。 このような通知が不要な場合は、Nothing と pendingWork の null 参照 (Visual Basic の workItem) を渡すことができます。
ステート マシン ワークフローでこのメソッドを使用している場合、"キュー '{0}' が有効になっていません" というメッセージを含む例外が発生することがあります。これは、ステート マシンの現在の状態が特定のイベントの処理方法を認識していない場合に発生します。 たとえば、現在の状態以外の状態に、キュー 'EventDrivenActivity' によって表されるHandleExternalEventActivityを含む{0}が含まれている場合です。