WorkflowInstance.EnqueueItemOnIdle Méthode

Définition

Publie un message dans la file d’attente de flux de travail spécifiée lorsque le flux de travail est inactif. EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) attend que le flux de travail atteigne un point d’inactivité et qu’il soit mis en file d’attente après avoir vérifié que le planificateur de flux de travail est inactif (autrement dit, aucune opération active n’est exécutée).

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)

Paramètres

queueName
IComparable

Nom du WorkflowQueue.

item
Object

Objet à mettre en file d’attente.

pendingWork
IPendingWork

Qui IPendingWork permet à l’expéditeur d’être averti lorsqu’il item est remis.

workItem
Object

Objet à passer aux IPendingWork méthodes.

Exceptions

queueName est une référence Null (Nothing dans Visual Basic).

Le moteur d’exécution de workflow n’est pas en cours d’exécution.

-ou-

L’instance de flux de travail est suspendue.

-ou-

Le WorkflowQueue paramètre spécifié queueName par n’existe pas.

-ou-

Le WorkflowQueue paramètre spécifié par queueName n’est pas activé.

Remarques

Attend que l’instance de flux de travail devienne inactive, puis envoie la item requête à l’instance spécifiée WorkflowQueue. Si vous appelez EnqueueItemOnIdle pendant que l’instance de flux de travail est suspendue, le moteur d’exécution de workflow lève un InvalidOperationException. Si vous souhaitez être averti lorsque le message est remis, vous pouvez implémenter IPendingWork dans votre service et transmettre un workItem objet à IPendingWorkEnqueueItem. Si vous ne souhaitez pas cette notification, vous pouvez transmettre une référence Null (Nothing dans Visual Basic) pour pendingWork et workItem.

Lorsque vous utilisez cette méthode avec un flux de travail d’ordinateur d’état, vous pouvez obtenir une exception qui contient le message « File d’attente « N’est{0} pas activé ». Cela se produit lorsque l’état actuel de l’ordinateur d’état ne sait pas comment gérer un événement spécifique. Par exemple, quand un état autre que l’état actuel contient celui EventDrivenActivity qui contient celui HandleExternalEventActivity représenté par la file d’attente «{0} ».

S’applique à