Nested Exception Handlers, exemple

Download sample

Cet exemple indique comment définir et utiliser des gestionnaires d'exceptions Windows Workflow Foundation. Les exceptions fournissent une manière structurée, uniforme et de type sécurisé pour gérer des conditions de workflow, d'activité et d'erreur au niveau utilisateur. Le mécanisme d'exception dans Windows Workflow Foundation est similaire à celui dans C#. Il permet à un développeur de lever des exceptions, de les intercepter par type et d'assigner des exceptions à une variable.

Plusieurs gestionnaires d'exceptions peuvent être associés à un workflow ou à une activité qui active le comportement du gestionnaire d'exceptions. Cela permet au développeur d'avoir différents codes de gestionnaire en fonction du type d'exception. Tout comme en C#, lorsqu'une exception est levée, le premier gestionnaire d'exceptions dans la pile d'appels qui correspond au type d'exception est appelé. Par exemple, si une exception orderException est levée et qu'aucune gestion des exceptions n'existe pour ce type, l'exception est évaluée par rapport à tous les gestionnaires d'exceptions dans l'activité conteneur, et ainsi de suite, jusqu'à ce que le niveau du workflow soit atteint. Le workflow prend fin une fois l'exécution du gestionnaire d'exceptions de workflow terminée, ou si aucun gestionnaire n'est disponible, au niveau du workflow.

Dans cet exemple, le workflow contient une activité FaultHandlersActivity. Il s'agit d'une activité composite qui prend en charge la gestion des exceptions. L'activité SynchronizationScopeActivity contient une activité CodeActivity unique. Le gestionnaire de code pour l'activité CodeActivity lève une exception System.Exception. L'activité FaultHandlersActivity a un gestionnaire d'exceptions pour l'exception System.Exception qui sera appelé pour gérer cette exception.

Utilisation de l'exemple

Pour utiliser l'exemple, vous devez créer la base de données de persistance SQL.

Pour créer la base de données de persistance SQL

  1. À l'aide de Microsoft SQL Server 2005 Express, SQL Server 2000 et versions ultérieures ou SQL Server 2000 Desktop Engine (MSDE), créez une base de données nommée SqlPersistenceService avec l'instruction de requête SQL :

    CREATE DATABASE SqlPersisenceService

    Remarque   lors de l'utilisation simultanée de SqlTrackingService et de SqlWorkflowPersistenceService dans une application de workflow, il est recommandé d'utiliser une base de données unique à la fois pour la persistance et le suivi.

  2. Dans l'espace de travail de l'Analyseur de requêtes SQL, sélectionnez la base de données que vous avez créée à l'étape 1 dans la liste des bases de données disponibles.

  3. Dans le menu Fichier, cliquez sur Ouvrir et ouvrez le script SQL %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<langue>\SqlPersistenceService_Schema.sql.

  4. Exécutez la requête en cliquant sur Exécuter ou en appuyant sur la touche F5 pour créer les tables de service de persistance SQL.

  5. Dans le menu Fichier, cliquez sur Ouvrir et ouvrez le script SQL %WINDIR%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\<langue>\SqlPersistenceService_Logic.sql.

  6. Exécutez la requête en cliquant sur Exécuter ou en appuyant sur la touche F5 pour créer les procédures stockées de service de persistance SQL.

Pour générer l'exemple

  1. Téléchargez l'exemple en cliquant sur Télécharger l'exemple dans cette rubrique.

    L'exemple de projet est alors extrait sur votre disque dur local.

  2. Cliquez sur Démarrer, pointez sur Programmes, puis sur Microsoft Windows SDK et cliquez sur Environnement de commande.

  3. Accédez au répertoire source de l'exemple.

  4. À l'invite de commandes, tapez MSBUILD <Nom du fichier solution>.

Pour exécuter l'exemple

  • Dans la fenêtre Invite de commandes du Kit de développement SDK, exécutez le fichier .exe dans le dossier OutlookWorkflowWizard\bin\debug (ou le dossier OutlookWorkflowWizard\bin pour la version VB de l'exemple), situé sous le dossier principal de l'exemple.

Voir aussi

Référence

FaultHandlersActivity
SynchronizationScopeActivity
CodeActivity

Autres ressources

Windows Workflow Foundation Activities
Throw, exemple
Fault Handling in Workflows
Using the FaultHandlersActivity Activity
Exemples d'activités
Exemples de Windows Workflow Foundation

Footer image

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