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 物件。
例外狀況
工作流程執行引擎沒有在執行。
-或-
工作流程實例會被暫停。
-或-
WorkflowQueue所指定的 不queueName存在。
-或-
WorkflowQueue指定的 by queueName 並未啟用。
備註
等待工作流程實例進入閒置狀態,然後將 傳送 item 到 指定的 WorkflowQueue。 如果你在工作流實例暫停時呼叫 EnqueueItemOnIdle ,工作流執行引擎會拋出一個 InvalidOperationException. 如果你想在訊息送達時收到通知,可以在服務中實作 IPendingWork a workItem 和 IPendingWork 物件給 EnqueueItem。 如果你不想要這樣的通知,可以對 Nothing 和 pendingWork 傳送空參考(workItem 在 Visual Basic)。
當你使用這種方法搭配狀態機工作流程時,可能會遇到包含「佇列 '{0}' 未啟用」的訊息的例外。當狀態機目前狀態無法處理特定事件時,就會發生這種情況。 例如,當某個非當前狀態包含 時 EventDrivenActivity ,該狀態 HandleExternalEventActivity 包含 ,即由佇列 '{0}' 表示。