WorkflowInstance.EnqueueItemOnIdle Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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}'.