Share via


Esempio di generazione di evento per il caricamento del flusso di lavoro

Download sample

Per inviare un documento per l'approvazione, il flusso di lavoro in questo esempio utilizza l'attività CallExternalMethodActivity associata al metodo RequestDocumentApproval di DocumentApprovalInterface. L'attività successiva nel flusso di lavoro è un'attività HandleExternalEventActivity che gestisce un evento DocumentApproved.

Il runtime è configurato per scaricare le istanze del flusso ogni qualvolta il flusso di lavoro è nello stato inattivo, ovvero, quando non è presente alcun lavoro da svolgere da parte dell'istanza. Questa è una funzionalità importante, poiché l'attività HandleExternalEventActivity potrebbe dovere attendere molto tempo (anche giorni o settimane) per l'approvazione del documento.

DocumentApprovalInterface definisce i metodi e gli eventi per l'invio e la ricezione delle approvazioni del documento. La classe DocumentApprovalService implementa DocumentApprovalInterface nelle chiamate al metodo del proxy e nella gestione degli eventi che consentono il flusso in entrata e uscita del flusso di lavoro e dell'applicazione host.

Il flusso di lavoro inizia il processo di approvazione del documento inviando un documento per l'approvazione tramite il metodo RequestDocumentApproval, che recapita il documento alla destinazione (non implementato). Il gestore eventi OnWorkflowIdled dell'host viene chiamato quando il flusso di lavoro diventa inattivo. Contemporaneamente, il runtime scarica l'istanza del flusso di lavoro tramite FilePersistenceService. Nel gestore WorkflowIdled, viene generato l'evento DocumentApproved sul flusso di lavoro. L'evento DocumentApproved viene consegnato al gestore HandleExternalEventActivity documentApprovedInvoked.

Nell'esempio viene utilizzato anche un servizio di persistenza personalizzato (FilePersistenceService) che serializza lo stato del flusso di lavoro in un file.

Quando si compila e si esegue l'applicazione, l'output apparirà simile agli elementi seguenti:

Generare un evento per il caricamento di un flusso di lavoro

Per generare l'esempio

  1. Scaricare l'esempio facendo clic su Scarica esempio.

    In tal modo viene estratto il progetto di esempio sul disco rigido locale.

  2. Fare clic sul pulsante Start, scegliere Programmi, Microsoft Windows SDK e fare clic su CMD Shell.

  3. Accedere alla directory di origine dell'esempio.

  4. Al prompt dei comandi, immettere MSBUILD RaiseEventToLoadWorkflow.sln.

Per eseguire l'esempio

  • Nella finestra del prompt dei comandi di SDK, eseguire il file exe nella cartella DocumentApprovalWorkflow\bin\debug (o nella cartella DocumentApprovalWorkflow\bin per la versione VB dell'esempio), collocata sotto la cartella principale dell'esempio.

Vedere anche

Altre risorse

Esempi di hosting

Footer image

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.