Condividi tramite


Esempio di gestori di eccezioni nidificati

Download sample

In questo esempio viene descritto come impostare e utilizzare i gestori di eccezioni di Windows Workflow Foundation. Le eccezioni rappresentano un modo strutturato, uniforme e type-safe per la gestione di flussi di lavoro, attività e condizioni di errore a livello utente. Il meccanismo delle eccezioni in Windows Workflow Foundation è simile a quello in C# e consente agli sviluppatori di generare eccezioni, rilevare eccezioni per tipo e assegnare eccezioni a una variabile.

È possibile associare più di un gestore di eccezioni a un flusso di lavoro o a un'attività per cui è abilitato il comportamento del gestore di eccezioni. Ciò consente agli sviluppatori di disporre di codice del gestore diverso in base al tipo di eccezione. Analogamente a C#, quando viene generata un'eccezione, viene richiamato il primo gestore di eccezioni nello stack di chiamate che corrisponde al tipo di eccezione. Ad esempio, se viene generata un'eccezione orderException e non è disponibile alcuna gestione delle eccezioni per tale tipo, l'eccezione viene valutata rispetto a uno dei gestori di eccezioni nell'attività in cui è contenuta e così via, finché non viene raggiunto il livello del flusso di lavoro. Il flusso di lavoro termina dopo che il gestore di eccezioni del flusso di lavoro è stato eseguito o se non è disponibile alcun gestore al livello del flusso di lavoro.

In questo esempio, il flusso di lavoro contiene un'attività FaultHandlersActivity. È un'attività composta che supporta la gestione delle eccezioni. L'attività SynchronizationScopeActivity contiene un'unica attività CodeActivity. Il gestore del codice per l'attività CodeActivity genera una System.Exception. L'attività FaultHandlersActivity dispone di un gestore di eccezioni per le eccezioni System.Exception che saranno chiamate a gestire questa eccezione.

Utilizzo dell'esempio

Per utilizzare questo esempio è necessario creare il database di persistenza SQL.

Per creare il database di persistenza SQL

  1. Se si utilizza Microsoft SQL Server 2005 Express, SQL Server 2000 o versioni più recenti oppure SQL Server 2000 Desktop Engine (MSDE), creare un nuovo database denominato SqlPersistenceService utilizzando l'istruzione della query SQL:

    CREATE DATABASE SqlPersisenceService

    Nota   Se si utilizzano SqlTrackingService e SqlWorkflowPersistenceService in un'applicazione del flusso di lavoro, è consigliabile utilizzare un unico database per la persistenza e il rilevamento.

  2. Nell'area di lavoro SQL Query Analyzer, selezionare il database creato al passaggio 1 nell'elenco di database disponibili.

  3. Nel menu File, fare clic su Apri e aprire lo script SQL %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<lingua>\SqlPersistenceService_Schema.sql.

  4. Eseguire la query facendo clic su Esegui o premendo F5 per creare le tabelle del servizio di persistenza SQL.

  5. Nel menu File, fare clic su Apri e aprire lo script SQL %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<lingua>\SqlPersistenceService_Logic.sql.

  6. Eseguire la query facendo clic su Esegui o premendo F5 per creare le stored procedure del servizio di persistenza SQL.

Per generare l'esempio

  1. Scaricare l'esempio facendo clic su Scarica esempio in questo argomento.

    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 <nome file soluzione>.

Per eseguire l'esempio

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

Vedere anche

Riferimenti

FaultHandlersActivity
SynchronizationScopeActivity
CodeActivity

Altre risorse

Windows Workflow Foundation Activities
Esempio di generazione
Fault Handling in Workflows
Using the FaultHandlersActivity Activity
Esempi di attività
Esempi di Windows Workflow Foundation

Footer image

Copyright © 2007 Microsoft Corporation. Tutti i diritti riservati.