WorkflowInstance.EnqueueItem Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Sendet eine Nachricht synchron in der angegebenen Workflowwarteschlange.
public:
void EnqueueItem(IComparable ^ queueName, System::Object ^ item, System::Workflow::Runtime::IPendingWork ^ pendingWork, System::Object ^ workItem);
public void EnqueueItem(IComparable queueName, object item, System.Workflow.Runtime.IPendingWork pendingWork, object workItem);
member this.EnqueueItem : IComparable * obj * System.Workflow.Runtime.IPendingWork * obj -> unit
Public Sub EnqueueItem (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-
Das WorkflowQueue angegebene By queueName ist nicht vorhanden.
-oder-
Die WorkflowQueue angegebene Angabe queueName ist nicht aktiviert.
Hinweise
Sendet den item Wert an die angegebene WorkflowQueue. 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, wird möglicherweise eine Ausnahme mit der Meldung "Warteschlange '{0}' ist nicht aktiviert" angezeigt. 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.
Note
Nachrichten werden nicht garantiert von der Workflowinstanz in der Reihenfolge empfangen, in der sie gesendet wurden. Wenn beispielsweise eine Nachricht in einer vorhandenen Warteschlange empfangen wird (Warteschlange A) bewirkt, dass ein Workflow eine andere Warteschlange (Warteschlange B) erstellt, die dann nach der ersten Nachricht gesendete nachricht lauscht, ist es möglich, dass die zweite Nachricht zuerst eintrifft und aufgrund der noch nicht erstellten Warteschlange empfangen wird. Um dieses Problem zu verhindern, sollte die zweite Nachricht erst gesendet werden, wenn das Vorhandensein der zweiten Warteschlange überprüft wird (mithilfe GetWorkflowQueueDatavon .)