WorkflowInstance.EnqueueItem Metod

Definition

Skickar ett meddelande till den angivna arbetsflödeskö synkront.

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)

Parametrar

queueName
IComparable

Namnet på WorkflowQueue.

item
Object

Objektet som ska visas.

pendingWork
IPendingWork

En IPendingWork som gör att avsändaren kan meddelas när item den levereras.

workItem
Object

Ett objekt som ska skickas IPendingWork till metoderna.

Undantag

queueName är en nullreferens (Nothing i Visual Basic).

Arbetsflödets körningsmotor körs inte.

-eller-

Angivet WorkflowQueue av queueName finns inte.

-eller-

Angivet WorkflowQueue av queueName är inte aktiverat.

Kommentarer

item Skickar till den angivna WorkflowQueue. Om du vill få ett meddelande när meddelandet levereras kan du implementera IPendingWork i din tjänst och skicka ett workItem och ett IPendingWork -objekt till EnqueueItem. Om du inte vill ha ett sådant meddelande kan du skicka en null-referens (Nothing i Visual Basic) för pendingWork och workItem.

När du använder den här metoden med ett tillståndsdatorarbetsflöde kan du få ett undantag med meddelandet "Queue '{0}' is not enabled". Detta inträffar när tillståndsdatorns aktuella tillstånd inte vet hur en specifik händelse ska hanteras. Till exempel om något annat tillstånd än det aktuella tillståndet innehåller EventDrivenActivity det som innehåller HandleExternalEventActivity det som representeras av kön .{0}

Note

Meddelanden är inte garanterade att tas emot av arbetsflödesinstansen i den ordning de skickades. Om du till exempel tar emot ett meddelande i en befintlig kö (kö A) gör att ett arbetsflöde skapar en annan kö (kö B), som sedan lyssnar efter ett annat meddelande som skickas efter det första meddelandet, är det möjligt att det andra meddelandet kommer först och inte tas emot på grund av att kön inte har skapats ännu. För att förhindra det här problemet bör det andra meddelandet inte skickas förrän förekomsten av den andra kön har verifierats (med . GetWorkflowQueueData)

Gäller för