WorkflowInstance.EnqueueItemOnIdle Metod

Definition

Skickar ett meddelande till den angivna arbetsflödeskö när arbetsflödet är inaktivt. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) väntar tills arbetsflödet når en inaktiv punkt och köar efter att ha kontrollerat att arbetsflödesschemaläggaren är inaktiv (det vill: ingen aktiv åtgärd körs).

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)

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-

Arbetsflödesinstansen är pausad.

-eller-

Angivet WorkflowQueue av queueName finns inte.

-eller-

Angivet WorkflowQueue av queueName är inte aktiverat.

Kommentarer

Väntar tills arbetsflödesinstansen blir inaktiv och skickar item sedan till den angivna WorkflowQueue. Om du anropar EnqueueItemOnIdle medan arbetsflödesinstansen pausas utlöser arbetsflödeskörningsmotorn en InvalidOperationException. 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 som innehåller 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}

Gäller för