Utilisation de l'activité EventDrivenActivity

L'activité EventDrivenActivity contient une séquence d'activités dont l'exécution est démarrée par un événement. Cet événement est abonné par la première activité enfant de la séquence, qui doit dériver de l'interface IEventActivity. L'interface IEventActivity est implémentée par les activités qui attendent des événements externes, tels que HandleExternalEventActivity et DelayActivity.

Dans un workflow séquentiel, vous pouvez avoir plusieurs activités dérivées de IEventActivity dans une activité EventDrivenActivity.

Dans un workflow d'ordinateur d'état, vous pouvez ajouter une activité EventDrivenActivity en tant qu'enfant immédiat d'une activité StateActivity ou du workflow lui-même. Toutefois, lorsque vous utilisez une activité EventDrivenActivity dans un workflow d'ordinateur d'état, vous pouvez seulement utiliser une activité unique dérivée de IEventActivity et cette activité doit être la première de l'état. Cette procédure est nécessaire du fait que le modèle du workflow d'ordinateur d'état que Windows Workflow Foundation implémente traite une seule activité EventDrivenActivity à la fois. Par exemple, si plusieurs activités IEventActivity au sein d'une activité EventDrivenActivity étaient en mesure de s'exécuter, vous seriez dans une situation où une activité EventDrivenActivity est bloquée en attendant une IEventActivity qui pourrait ne jamais s'exécuter. Cela empêcherait l'ordinateur d'état d'être en mesure de traiter davantage de messages.

Pour plus d'informations, consultez la classe EventDrivenActivity et l'interface IEventActivity de l'espace de noms System.Workflow.Activities dans la référence de la bibliothèque de classes de Windows Workflow Foundation.

Pour obtenir un exemple de code illustrant l'utilisation de l'activité EventDrivenActivity, consultez le Listen Sample.

Voir aussi

Référence

EventDrivenActivity
IEventActivity

Concepts

Utilisation de l'activité ListenActivity
Utilisation de l'activité EventHandlersActivity

Footer image

Copyright ©2007 par Microsoft Corporation. Tous droits réservés.