WorkflowInstance.EnqueueItemOnIdle Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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} ».