WorkflowInstance.EnqueueItem Metódus

Definíció

Üzenet küldése a megadott munkafolyamat-üzenetsorba szinkron módon.

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)

Paraméterek

queueName
IComparable

A WorkflowQueue neve.

item
Object

Az ékesíteni kívánt objektum.

pendingWork
IPendingWork

Ez IPendingWork lehetővé teszi, hogy a feladó értesítést kapjon a kézbesítésről item .

workItem
Object

A metódusok számára továbbítandó IPendingWork objektum.

Kivételek

queueName null értékű hivatkozás (Nothing Visual Basic).

A munkafolyamat futtatókörnyezeti motorja nem fut.

-vagy-

A WorkflowQueue megadott nem queueName létezik.

-vagy-

A WorkflowQueue megadott érték queueName nincs engedélyezve.

Megjegyzések

Elküldi a item megadottnak WorkflowQueue. Ha értesítést szeretne kapni az üzenet kézbesítéséről, implementálhatja IPendingWork a szolgáltatást, és átadhat egy workItem és egy IPendingWork objektumot.EnqueueItem Ha nem szeretne ilyen értesítést kapni, null referenciát (Nothing Visual Basic) adhat át pendingWork és workItem.

Ha ezt a metódust állapotgép-munkafolyamattal használja, kivételt kaphat a "Queue "{0}" (Üzenetsor) nincs engedélyezve. Ez akkor fordul elő, ha az állapotgép aktuális állapota nem tudja, hogyan kell kezelni egy adott eseményt. Ha például az aktuális állapottól eltérő állapot tartalmazza a EventDrivenActivityHandleExternalEventActivity ""{0} üzenetsor által képviselt állapotot.

Note

A munkafolyamat-példány nem garantáltan az elküldött sorrendben fogadja az üzeneteket. Ha például egy meglévő üzenetsorban (A üzenetsor) egy munkafolyamat egy másik üzenetsort (B üzenetsort) hoz létre, amely az első üzenet után küldött másik üzenetet figyeli, lehetséges, hogy a második üzenet érkezik először, és nem érkezik meg, mert az üzenetsor még nem jött létre. A probléma megelőzése érdekében a második üzenet csak akkor küldhető el, ha a második üzenetsor jelenlétét nem ellenőrzi (a GetWorkflowQueueData.)

A következőre érvényes: