WorkflowInstance.EnqueueItemOnIdle Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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}".