WorkflowInstance.EnqueueItemOnIdle Methode

Definition

Sendet eine Nachricht an die angegebene Workflowwarteschlange, wenn der Workflow im Leerlauf ist. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) wartet, bis der Workflow einen Leerlaufpunkt erreicht und nach der Überprüfung, ob der Workflowplaner im Leerlauf ist (d. a. es wird kein aktiver Vorgang ausgeführt).

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)

Parameter

queueName
IComparable

Der Name des WorkflowQueue.

item
Object

Das Objekt, das queue.

pendingWork
IPendingWork

Eine IPendingWork , die es dem Absender ermöglicht, benachrichtigt zu werden, wenn item er zugestellt wird.

workItem
Object

Ein Objekt, das an die IPendingWork Methoden übergeben werden soll.

Ausnahmen

queueName ist ein Nullverweis (Nothing in Visual Basic).

Das Workflowlaufzeitmodul wird nicht ausgeführt.

-oder-

Die Workflowinstanz wird angehalten.

-oder-

Das WorkflowQueue angegebene By queueName ist nicht vorhanden.

-oder-

Die WorkflowQueue angegebene Angabe queueName ist nicht aktiviert.

Hinweise

Wartet darauf, dass die Workflowinstanz im Leerlauf ist, und sendet dann den item Wert an die angegebene WorkflowQueue. Wenn Sie während des Anhaltens der Workflowinstanz aufrufen EnqueueItemOnIdle , löst das Workflowlaufzeitmodul einen Ausrufevorgang aus InvalidOperationException. Wenn Sie benachrichtigt werden möchten, wenn die Nachricht zugestellt wird, können Sie sie in Ihrem Dienst implementieren IPendingWork und ein workItem Objekt IPendingWork übergeben.EnqueueItem Wenn Sie diese Benachrichtigung nicht wünschen, können Sie einen NULL-Verweis (Nothing in Visual Basic) für pendingWork und workItem übergeben.

Wenn Sie diese Methode mit einem Zustandsautomatworkflow verwenden, erhalten Sie möglicherweise eine Ausnahme, die die Meldung "Warteschlange '{0}' ist nicht aktiviert" enthält. Dies geschieht, wenn der aktuelle Zustand des Zustandscomputers nicht weiß, wie ein bestimmtes Ereignis behandelt wird. Wenn beispielsweise ein anderer Zustand als der aktuelle Zustand die enthalten, die EventDrivenActivity durch HandleExternalEventActivity die Warteschlange '{0}' dargestellt wird.

Gilt für: