WorkflowInstance.EnqueueItemOnIdle 方法

定義

當工作流程閒置時,會向指定的工作流程佇列發布訊息。 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 物件。

例外狀況

是一個空參考()。

工作流程執行引擎沒有在執行。

-或-

工作流程實例會被暫停。

-或-

WorkflowQueue所指定的 不queueName存在。

-或-

WorkflowQueue指定的 by queueName 並未啟用。

備註

等待工作流程實例進入閒置狀態,然後將 傳送 item 到 指定的 WorkflowQueue。 如果你在工作流實例暫停時呼叫 EnqueueItemOnIdle ,工作流執行引擎會拋出一個 InvalidOperationException. 如果你想在訊息送達時收到通知,可以在服務中實作 IPendingWork a workItemIPendingWork 物件給 EnqueueItem。 如果你不想要這樣的通知,可以對 NothingpendingWork 傳送空參考(workItem 在 Visual Basic)。

當你使用這種方法搭配狀態機工作流程時,可能會遇到包含「佇列 '{0}' 未啟用」的訊息的例外。當狀態機目前狀態無法處理特定事件時,就會發生這種情況。 例如,當某個非當前狀態包含 時 EventDrivenActivity ,該狀態 HandleExternalEventActivity 包含 ,即由佇列 '{0}' 表示。

適用於