WorkflowInstance.EnqueueItemOnIdle Metoda

Definice

Odešle zprávu do zadané fronty pracovního postupu, když je pracovní postup nečinný. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) čeká, dokud pracovní postup nedosáhne nečinného bodu a po ověření, že plánovač pracovního postupu je nečinný (to znamená, že se nespustí žádná aktivní operace).

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)

Parametry

queueName
IComparable

Název WorkflowQueue.

item
Object

Objekt, který má být zapsán do fronty.

pendingWork
IPendingWork

Oznámení IPendingWork , které umožňuje odesílateli dostávat oznámení při item doručení.

workItem
Object

Objekt, který se má předat metodám IPendingWork .

Výjimky

queueName je odkaz null (Nothing v Visual Basic).

Modul runtime pracovního postupu není spuštěný.

nebo

Instance pracovního postupu je pozastavena.

nebo

Zadané WorkflowQueue uživatelem queueName neexistuje.

nebo

Zadané WorkflowQueue uživatelem queueName není povoleno.

Poznámky

Čeká, až se instance pracovního postupu stane nečinnou, a pak odešle item do zadaného WorkflowQueue. Pokud zavoláte EnqueueItemOnIdle , když je instance pracovního postupu pozastavena, modul runtime pracovního postupu vyvolá výjimku InvalidOperationException. Pokud chcete být upozorněni při doručení zprávy, můžete implementovat IPendingWork ve své službě a předat workItem objekt a IPendingWork objekt .EnqueueItem Pokud takové oznámení nechcete, můžete předat odkaz null (Nothing v Visual Basic) pro pendingWork a workItem.

Pokud používáte tuto metodu s pracovním postupem stavového počítače, může se zobrazit výjimka, která obsahuje zprávu " Fronta '{0}' není povolena." K tomu dochází v případě, že aktuální stav stav počítače neví, jak zpracovat konkrétní událost. Pokud například nějaký jiný stav než aktuální stav obsahuje EventDrivenActivityHandleExternalEventActivity ten, který je reprezentován frontou '{0}'.

Platí pro