Esempio di host di persistenza
In questo esempio viene illustrato come rendere permanente un flusso di lavoro in esecuzione su disco quando viene arrestata un'applicazione e come ricaricare automaticamente il flusso di lavoro tramite l'invio di un evento.
L'esempio è costituito da un'applicazione Windows Form che consente all'utente di creare e avviare un flusso di lavoro e di inviare un evento a un flusso di lavoro in esecuzione. Per inviare un evento a un flusso di lavoro, fare clic con il pulsante destro del mouse sul flusso di lavoro nell'elenco e scegliere Approve Document. Poiché il flusso di lavoro dispone di un'attività HandleExternalEventActivity come ultima attività, l'invio di un messaggio al flusso di lavoro fa in modo che il flusso di lavoro venga chiuso.
Quando l'applicazione viene arrestata, i flussi di lavoro in esecuzione vengono mantenuti su disco utilizzando il FilePersistenceService fornito. Un indice dei flussi di lavoro in esecuzione è salvato in un file XML. Quando l'applicazione viene riavviata, il file XML viene letto in modo da determinare quali flussi di lavoro sono ancora in corso, sebbene i flussi di lavoro non vengano ricaricati in questa fase. Quando gli eventi vengono inviati a tali flussi di lavoro, il runtime li ricarica automaticamente dal disco e recapita il messaggio, facendo in modo che il flusso di lavoro venga terminato.
Per generare l'esempio
Scaricare l'esempio facendo clic su Scarica esempio.
In tal modo viene estratto il progetto di esempio sul disco rigido locale.
Fare clic sul pulsante Start, scegliere Programmi, Microsoft Windows SDK e fare clic su CMD Shell.
Accedere alla directory di origine dell'esempio.
Al prompt dei comandi, immettere MSBUILD PersistenceHost.sln
Per eseguire l'esempio
- Nella finestra del prompt dei comandi di SDK, eseguire il file exe nella cartella HostApplication\bin\debug (o nella cartella HostApplication\bin per la versione VB dell'esempio), collocata sotto la cartella principale dell'esempio.
Vedere anche
Altre risorse
Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.