WorkflowInstance.EnqueueItemOnIdle Metoda

Definicja

Publikuje komunikat do określonej kolejki przepływu pracy, gdy przepływ pracy jest bezczynny. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) czeka, aż przepływ pracy osiągnie bezczynny punkt i kolejkuje po sprawdzeniu, czy harmonogram przepływu pracy jest bezczynny (czyli nie jest wykonywana żadna aktywna operacja).

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

Nazwa elementu WorkflowQueue.

item
Object

Obiekt do kolejkowania.

pendingWork
IPendingWork

Element IPendingWork , który umożliwia nadawcy powiadomienie, gdy item zostanie dostarczony.

workItem
Object

Obiekt, który ma zostać przekazany do IPendingWork metod.

Wyjątki

queueName jest odwołaniem o wartości null (Nothing w Visual Basic).

Aparat środowiska uruchomieniowego przepływu pracy nie jest uruchomiony.

— lub —

Wystąpienie przepływu pracy jest zawieszone.

— lub —

Określony WorkflowQueue przez queueName nie istnieje.

— lub —

Określony WorkflowQueue przez queueName nie jest włączony.

Uwagi

Czeka, aż wystąpienie przepływu pracy stanie się bezczynne, a następnie wysyła element item do określonego WorkflowQueueelementu . Jeśli wywołasz EnqueueItemOnIdle wywołanie wystąpienia przepływu pracy, aparat środowiska uruchomieniowego przepływu pracy zgłosi błąd InvalidOperationException. Jeśli chcesz otrzymywać powiadomienia o dostarczeniu komunikatu, możesz zaimplementować IPendingWork w usłudze i przekazać workItem obiekt i IPendingWork do EnqueueItemelementu . Jeśli nie chcesz takiego powiadomienia, możesz przekazać odwołanie o wartości null (Nothing w Visual Basic) dla pendingWork i workItem.

Jeśli używasz tej metody z przepływem pracy maszyny stanu, może zostać wyświetlony wyjątek zawierający komunikat "Kolejka "{0}" nie jest włączony. Dzieje się tak, gdy bieżący stan maszyny stanu nie wie, jak obsłużyć określone zdarzenie. Jeśli na przykład jakiś stan inny niż bieżący zawiera wartość , która zawiera EventDrivenActivityHandleExternalEventActivity element reprezentowany przez kolejkę "{0}".

Dotyczy