Utilizzo dell'attività EventDrivenActivity

L'attività EventDrivenActivity contiene una sequenza di attività la cui esecuzione viene avviata da un evento. Questo evento è sottoscritto dalla prima attività figlio nella sequenza, che deve derivare dall'interfaccia IEventActivity. L'interfaccia IEventActivity viene implementata da attività in attesa di eventi esterni, ad esempio HandleExternalEventActivity e DelayActivity.

In un flusso di lavoro sequenziale, è possibile avere più attività derivate da IEventActivity all'interno di un'attività EventDrivenActivity.

In un flusso di lavoro di macchina a stati, è possibile aggiungere un'attività EventDrivenActivity come figlio immediato di un'attività StateActivity oppure al flusso di lavoro stesso. Tuttavia, quando si utilizza un'attività EventDrivenActivity in un flusso di lavoro di macchina a stati, è possibile utilizzare solo una singola attività derivata da IEventActivity, e tale attività deve essere la prima attività nello stato in oggetto. Questo perché il modello del flusso di lavoro di macchina a stati implementato da Windows Workflow Foundation elabora solo un'attività EventDrivenActivity alla volta. Ad esempio, se venisse consentito di eseguire più attività IEventActivity in un'attività EventDrivenActivity, si avrebbe una situazione in cui un'attività EventDrivenActivity viene bloccata mentre rimane in attesa di un'attività IEventActivity che potrebbe non essere mai eseguita. In questo modo, la macchina a stati non sarebbe in grado di elaborare altri messaggi.

Per ulteriori informazioni, vedere la classe EventDrivenActivity e l'interfaccia IEventActivity dello spazio dei nomi System.Workflow.Activities nel riferimento alla libreria di classi di Windows Workflow Foundation.

Per un esempio di codice che illustri la modalità di utilizzo dell'attività EventDrivenActivity, vedere Listen Sample.

Vedere anche

Riferimenti

EventDrivenActivity
IEventActivity

Concetti

Utilizzo dell'attività ListenActivity
Utilizzo dell'attività EventHandlersActivity

Footer image

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.