WorkflowInstance.EnqueueItemOnIdle Metodo

Definizione

Invia un messaggio alla coda del flusso di lavoro specificata quando il flusso di lavoro è inattiva. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) attende fino a quando il flusso di lavoro raggiunge un punto di inattività e accoda dopo aver verificato che l'utilità di pianificazione del flusso di lavoro sia inattiva ( ovvero non viene eseguita alcuna operazione attiva).

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)

Parametri

queueName
IComparable

Nome del WorkflowQueue.

item
Object

Oggetto da accodare.

pendingWork
IPendingWork

Oggetto IPendingWork che consente al mittente di ricevere una notifica quando item viene recapitato.

workItem
Object

Oggetto da passare ai IPendingWork metodi.

Eccezioni

queueName è un riferimento Null (Nothing in Visual Basic).

Il motore di runtime del flusso di lavoro non è in esecuzione.

oppure

L'istanza del flusso di lavoro viene sospesa.

oppure

L'oggetto WorkflowQueue specificato da queueName non esiste.

oppure

L'oggetto WorkflowQueue specificato da queueName non è abilitato.

Commenti

Attende che l'istanza del flusso di lavoro diventi inattiva e quindi invia l'oggetto all'oggetto item specificato WorkflowQueue. Se si chiama EnqueueItemOnIdle mentre l'istanza del flusso di lavoro è sospesa, il motore di runtime del flusso di lavoro genererà un'eccezione InvalidOperationException. Se si vuole ricevere una notifica quando il messaggio viene recapitato, è possibile implementare IPendingWork nel servizio e passare un workItem oggetto e IPendingWork a EnqueueItem. Se non si desidera tale notifica, è possibile passare un riferimento Null (Nothing in Visual Basic) per pendingWork e workItem.

Quando si usa questo metodo con un flusso di lavoro della macchina a stati, è possibile che venga visualizzata un'eccezione contenente il messaggio "Coda '{0}' non abilitata". Ciò si verifica quando lo stato corrente della macchina a stati non è in grado di gestire un evento specifico. Ad esempio, quando uno stato diverso dallo stato corrente contiene l'oggetto EventDrivenActivity che contiene l'oggetto HandleExternalEventActivity rappresentato dalla coda '{0}'.

Si applica a