語言

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 workItem 和 IPendingWork 物件給 EnqueueItem。 如果你不想要這樣的通知,可以對 Nothing 和 pendingWork 傳送空參考(workItem 在 Visual Basic)。

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

適用於